Include jsp versus seperate class/bean versus taglib

Hi friends,
I am working on Servlet/JSP project. There are large no. of jsp pages. A common set of methods get repeated in all the jsp pages. Now my concen is to separate out the methods in a file and then use it in jsp page.
Kindly suggest me the right path to follow, taking into consideration that we take up the optimized solution and performance-wise also feasible.
Whether I should go for
1. Using 'include jsp'
2. using 'taglib'
3. creating a seperate utility class with the required methods and 'import' it in the JSP pages.
Kindly reply ASAP.
Thanks in advance.
Regards.

I would suggest you should go for user defined tags.
This would ensure that the business functionality is isolated from your web objects and it would be modular to maintain.
Using simple classes will add java code to your JSP pages, which makes them less readable.
Apart from that implicit object creation by the Servlet/JSP engine(which are instantiating and garbage collecting the taglib objects) will be more efficient.
Hope this helps
regards
Ravi

Similar Messages

  • Javax.servlet.jsp.JspException: Exception creating bean of class ProdFormFB

    Hi I am trying to deploy a struts based web application using "DynaActionForms"
    When I am trying to access the jsp page I am getting the following error.
    I am providing as much as details as it can help full to u.
    Thank u.
    FormBean class ProdFormFB.java
    ========================================================================
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.apache.struts.action.*;
    public class ProdFormFB extends DynaActionForm
    public void reset(ActionMapping mapping, HttpServletRequest request)
         System.out.println("reset() called. . . . ");
    set("prodId", new Integer(10));
         set("prodName", new String("XYZ"));
         set("price", new Float(22.25));
    public ActionErrors validate(ActionMapping mappings, HttpServletRequest request)
    System.out.println("=== validate() called ===");
    ActionErrors aes=new ActionErrors();
         System.out.println("aes.size() ===> "+aes.size());
         String prodName = (String)get("prodName");
         if( prodName==null || prodName.equals("") )
              System.out.println("Adding prodName.req error . . . . . . .");
              aes.add("prodName",new ActionError ("prodName.req.error"));
    return aes;
    ========================================================================
    Action Class ProdAction.java
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.apache.struts.action.*;
    public class ProdAction extends Action
       public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response)throws Exception
          ProdFormFB fb = (ProdFormFB)form;
          System.out.println("fb.get('prodId')==> "+fb.get("prodId"));
          System.out.println("fb.get('prodName')==> "+fb.get("prodName"));
          System.out.println("fb.get('price')==> "+fb.get("price"));
           return mapping.findForward("dres");
    }========================================================================
    jsp page : npform.jsp
    <%@ taglib uri = "/tags/struts-html" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <html:html>
      <head>
         <title>Product Form</title>
      </head>
      <body>
              <html:form action="/pAction">
              <center>
                <br><br>
                <center> <font color="green" style="bold" size=5>Product Form using Struts</font></center><br><br>
                <table>
                <tr>
                   <td>
                          <b> Product ID : </b>  <html:text property="prodId"/> </td><td><font color="red" style="bold"><html:errors property="prodId"/> </font>
                 </td>
             </tr>
               <tr>
                   <td>
                          <b> Prod Name : </b> <html:text property="prodName"/>  </td><td> <font color="red" style="bold"> <html:errors property="prodName"/> </font>
                 </td>
              </tr>
    <!--           <tr>
                   <td>
                          <b> Price : </b> <html:text property="price"/>  </td><td> <font color="red" style="bold"> <html:errors property="price"/> </font>
                 </td>
              </tr> -->
               <tr  colspan="2" align="center">
                   <td>
                      <html:submit property="submit" value="Store"/>
                </td>
              </tr>
              </table>
                          </center>
           </html:form>
      </body>
    </html:html>========================================================================
    Configuration in struts-config.jsp
        <form-beans>
             <form-bean name="NewProdForm" type="ProdFormFB">
                  <form-property name="prodId" type="java.land.Integer"/>
                    <form-property name="prodName" type="java.land.String"/>
                  <form-property name="price" type="java.land.Float"/>
            </form-bean>
    </form-beans>
    <action-mappings>
           <action name="NewProdForm" path="/pAction" type="ProdAction" input="/npform.jsp" validate="true" scope="request">
                  <forward name="dres" path="/dres.jsp"/>
           </action>
    </action-mappings>========================================================================
    After deploying successfully I am I am entering the following URL
    http://localhost:7001/oursapp/npform.jsp
    The following Exception on Browser: and also on the server console ......
    javax.servlet.jsp.JspException: Exception creating bean of class ProdFormFB: {1}
         at org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:463)
         at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:433)
         at jsp_servlet.__npform._jspService(__npform.java:178)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)     
    Plz... Help me out is solving the problem .......
    my email :   [email protected]

    I never used DynaActionForm, what I have noticed here is, don't you need to declare the form bean? I may be wrong.
    <form-beans>
    <form-bean name="newProdForm" type="com.package.form.NewProdForm"></form-bean>
    </form-beans>

  • Problems with managed beans on included JSPs

    I've got a problem with managed beans within an included JSP
    The included page looks as follows:
    <f:subview id="includedPage" binding="#{testBean.component}">
         <h:outputText value="Hallo from the included page"/>
         <h:outputText value="#{testBean.msg}" />
    </f:subview>The including page is also very simple
    <f:view>
         <html>
              <head>
                   <title>Test include</title>
              </head>
              <body>
                   <h:outputText value="Hello from the including page"/>               
                   <jsp:include page="included.jsp"/>
              </body>
         </html>
    </f:view>The testBean is a managed bean with page scope and looks as follows:
    public class TestBean {
        public UIComponent fComponent;
        public TestBean() {
            System.out.println("TestBean Constructor called " + toString() );
        public String getMsg() {
            return "Component = " + fComponent ;
        public void setComponent(UIComponent component) {
            System.out.println("setComponent called " + component);       
            fComponent = component;
        public UIComponent getComponent() {
            System.out.println("getComponent called " + fComponent);
            return fComponent;
    }The output to the console is:
    TestBean Constructor called de.kvb.athena.web.beans.TestBean@1bc16f0
    getComponent called null
    TestBean Constructor called de.kvb.athena.web.beans.TestBean@18622f3
    setComponent called javax.faces.component.UINamingContainer@160877b
    TestBean Constructor called de.kvb.athena.web.beans.TestBean@5eb489
    and the page displays
    Hello from the include page
    Hello from the included page Component = null
    Can anyone explain this behavior ? What's the reason that the page displays
    Component = null
    and is it possible to display the parent naming container (subview) this way ?
    how ?
    Thanks

    By "page scope" I assume you mean "none"? If so JSF creates a new bean for each place it's referenced. The closest to the behavior you want, once per "page", is really request scope.
    (I'm not sure why the constructor is being called thrice, though. I should look into this.)
    I assume you want a bean-per-subview scenario. This should be doable, and one way that allows a dynamic number of subviews would be as follows:
    --create a "manager" bean in request scope
    --give it get/set methods that retrieves a Map of "TestBean" instances; the idea is that each subview use a different key "s1", "s2", etc
    back the manager method with Map implementation that checks if there's already a TestBean associated with the key returns it if yes, else null.
    If that seems messy, the component solution is hairy :-) See http://forum.java.sun.com/thread.jspa?threadID=568937&messageID=2812561
    --A                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • 9.0.3 Preview - Class not found error after including jsp:useBean

    Hi,
    I got a Java.lang.NoClassDefFoundError while compiling a JSP Page, after including a simple web bean as follows:
    <jsp:useBean id="catviews" scope="request" class="CategoryView" />
    <jsp:setProperty name="catviews" property="*" />
    somewhere within the HTML page...
    <%= catviews.getCategory() %>
    The JSP page without the bean compiles fine and the Javabean itself compiles without error. The bean class is where JDev automatically puts it (i.e in a sub-directory of the classes directory within the project) and JDev does not raise any error on that JSP Page before compiling.
    The error seems to point to the first line of the page, to the directive of the JSP page:
    <%@ contentType="text/html" ... %> which is apparently harmless. What can be wrong ?
    Thanks for your reply.

    'Class not found' means 'Class not found' , the class you are referencing is not in your project's classpath. You should make sure your project's classpath point to the location where this class is deployed to. This could be a directory or a .jar file. You should also include the package name as part fo the class.

  • Java class bean can not access to DB in JSP file

    Hi, I wrote a java class bean in order to access to MySql database ,and this bean is used in a JSP file,so that the bean can query from DB and then display the queried information on the JSP file,but it can not work correctly,the following is the source code and error message popup by the system,
    does anybody has experience in solving thus question,Please reply ,Thank you for your help.
    %@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ page import = "java.sql.*" %>
    <jsp:useBean id="conn" scope="page" class="news.conn"/>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>1</title>
    <style>
    <!--
    A:link {
         COLOR: #993399
    .s {
         FONT-SIZE: 13px; LINE-HEIGHT: 170%; FONT-FAMILY: "utf-8"
    -->
    </style>
    </head>
    <body>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
    <tr>
    <td width="100%">
    <img border="0" src="images/ruanjian.jpg" width="770" height="154"></td>
    </tr>
    <tr>
    <td width="100%">@</td>
    </tr>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2">
    <tr>
    <td width="13%">@</td>
    <td width="87%">
    <img border="0" src="images/mid-rdxw2.gif" width="101" height="18"><p>
    <%
              ResultSet rs,rsNest;
    String strSql=null;
    strSql = "select * from news where TYPE=1";     
              rs = conn.executeQuery(strSql);
              while (rs.next()){
    %>
    <span class="s"> <a href="newsContent.jsp?newsId=<%=rs.getInt(id")%">"><%=rs.getString("Title")%></a><br>
    <%
    %>
    <p>
    <img border="0" src="images/mid-hyxw2.gif" width="94" height="19"></p>
    <%
    strSql="select * from news where TYPE=2";     
              rs = conn.executeQuery(strSql);
              while (rs.next()){
    %>
    <span class="s"> <a href="newsContent.jsp?newsId=<%=rs.getInt("id")%>"><%=rs.getString("Title")%></a><br>
    <%
    %>
    <p>@</td>
    </tr>
    </table>
    <p align="center">Study Online</p>
    <p align="center">@</p>
    </body>
    </html>
    Error message:
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Exception in JSP: /newsMain.jsp:47
    44: strSql = "select * from news where TYPE=1";     
    45:           rs = conn.executeQuery(strSql);
    46:           
    47:           while (rs.next()){
    48:
    49: %>
    50:
    Stacktrace:
         org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause
    java.lang.NullPointerException
         org.apache.jsp.newsMain_jsp._jspService(newsMain_jsp.java:98)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.27 l</a>

    nogoodatcoding wrote:
    Tolls wrote:
    Is that Jasper Exception telling us where the problem is in the jsp, though?
    If it is, then "rs" is null in the call rs.next()...which means conn.executeQuery() is returning null. Which means that whatever class conn is (news.conn?) has a problem maybe?That's possible. Though, it may just be the case that the 'conn' object itself is null! That line is the first place where it's being used and there are no checks that I can see...we'll have to wait for the OP to investigate and reply I guess.That's what I originally thought, then I noticed it was saying line 47, which is the rs.next() line. Assuming Jasper is correct in its choice of line, then it's the rs that's null. Which means the conn is doing strange things.
    Edit: Now that I think about it, going by the previous thread the OP posted, I'm wondering whether news.conn class is their attempt to move the JDBC stuff out of the JSP page, and it's grabbing the "real" connection (java.sql.Connection) and getting the result set and returning it...or getting something wrong and returning null.
    Edited by: Tolls on 11-Jun-2009 12:24

  • Javax.servlet.jsp.JspException: Cannot find bean: "org.apache.struts.taglib

    Hi
    i have a form from which i am gettin values and i am using struts to get those values and perform actions in my DAO,
    i am able to retrieve values from DAO but the value is not gettin printed in front end.. its throwing
    "javax.servlet.jsp.JspException: Cannot find bean: "org.apache.struts.taglib.html.BEAN" in any scope" error
    got any suggestions
    thankx

    Got the solution,. i had closed my <html:form> before closing one of my <html:form>
    thankx

  • JSP can't find bean class!!!!!

    First of all, I'm using jdk1.4 beta and Jakarta's tomcat version 4.0.1 release build.
    Hello. I desparately need help. I have a JavaBean class ("CarBean.class") saved in %catalina_home%\webapps\root\myapp\web-inf\classes\com\wrox\cars\CarBean.class
    I also have a jsp page saved as carpage.jsp in %catalina_home%\webapps\root\myapp\
    So when I point my browser to http://localhost:8080/myapp/carpage.jsp, I get an internal server error. It appears it can't find the JavaBean class for some reason. I'm pretty sure I have my envionment variables set up right. I can get it to work, if I save the JavaBean class in c:\jdk1.4\jre\class\com\wrox\cars
    Here's my JavaBean class source file:
    package com.wrox.cars;
    import java.io.Serializable;
    public class CarBean implements Serializable {
    public CarBean() {
    private String make = "Ford";
    public String getMake() {
    return make;
    public void setMake(String make) {
    this.make = make;
    and here's my jsp page:
    <html>
    <head>
    <title>Using a JavaBean</title>
    </head>
    <body>
    <h2>Using a JavaBean</h2>
    <% com.wrox.cars.CarBean myCar = new com.wrox.cars.CarBean(); %>
    I own a <%= myCar.getMake() %>
    <% myCar.setMake("Ferrari"); %>
    Now I own a <%= myCar.getMake() %>
    </body>
    </html>
    This is the only thing I've modified in the server.xml file:
    <Context path="/myapp" docBase="myapp" debug="0" reloadable="true"/>
    I'm not new to java, just JSP. I just don't know why I can't get the jsp to locate the JavaBean class. I remember I used to have an older version of Tomcat and I recall not having any problems. It seems the Tomcat 4.XX is somewhat significantly different than previous versions. Perhaps I configured my Tomcat or server.xml wrong? Help would be greatly appreciated. Thanks.

    Hi,
    I am having a similar problem. I was wondering if you found a solution. The error I get is listed below. I have my jsp file at ../webapps/ROOT/myapp/web and my bean file located at ../webapps/ROOT/myapp//src.
    Any help will be highly appreciated
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
    An error occurred at line: 8 in the jsp file: /DataBaseSelect.jsp
    Generated servlet error:
    D:\WeeklyReportProject\jwsdp-1_0_01\work\Standard Engine\localhost\Test\DataBaseSelect$jsp.java:61: Class org.apache.jsp.DataBaseSelect not found.
    DataBaseSelect select = null;
    ^
    An error occurred at line: 8 in the jsp file: /DataBaseSelect.jsp
    Generated servlet error:
    D:\WeeklyReportProject\jwsdp-1_0_01\work\Standard Engine\localhost\Test\DataBaseSelect$jsp.java:64: Class org.apache.jsp.DataBaseSelect not found.
    select= (DataBaseSelect)
    ^
    An error occurred at line: 8 in the jsp file: /DataBaseSelect.jsp
    Generated servlet error:
    D:\WeeklyReportProject\jwsdp-1_0_01\work\Standard Engine\localhost\Test\DataBaseSelect$jsp.java:69: Class org.apache.jsp.DataBaseSelect not found.
    select = (DataBaseSelect) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "DataBaseSelect");
    ^
    3 errors, 1 warning

  • Include jsp tags

    I am having a problem relacing the include file of let's call it a
    header.jsp in a menu page named menu.jsp.
    So in my header.jsp file let's say I do something simple like
    <table>
    <tr><td><jato:href name="first">First Option
    </jato:href></td></tr></table>
    and so on....
    And in my main.jsp I have a simple include at the top of my page
    like so
    <html
    <body>
    <%include file=header.jsp%>
    etc.
    Now when JRun 3.0 makes the include replacement, it seems to have a
    problem where it tells me
    Servlet error 500
    com.iplanet.jato.view href : taglib navigation not found
    BUT when I take out the jato tags in the include file...I can get
    JRun to make the replacement perfectly....
    Does anyone else have this problem and if so how did you get around
    it?

    Sorry to bother you again, but I couldn't find anything that looked strange
    is this file. Can you send us the original file at our personal email
    addresses? I'd like to see exactly where the compilation error occurs and
    it's not possible with the file inlined here.
    todd.fast@e...
    michael.frisino@s...
    Thanks,
    Todd
    ----- Original Message -----
    From: <suket@u...>
    Sent: Wednesday, January 17, 2001 2:02
    Subject: [iPlanet-JATO] Re: include jsp tags
    Hi Mike,
    Both of the jsp files (pgHelp.jsp and pgFooter.jsp)
    are in the same folder. I removed the IPP/ipp portion in the
    include directive but still giving the same err.
    iam using Allair Jrun 3.0.
    Here is the intermediary generated Jsp file
    / Generated by JRun, do not edit
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import allaire.jrun.jsp.JRunJSPStaticHelpers;
    public class jrun__IPP__ipp__pgHelp2ejsp13 extends
    allaire.jrun.jsp.HttpJSPServlet implements
    allaire.jrun.jsp.JRunJspPage
    private ServletConfig config;
    private ServletContext application;
    private Object page = this;
    private JspFactory __jspFactory = JspFactory.getDefaultFactory();
    public void _jspService(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, java.io.IOException
    if(config == null) {
    config = getServletConfig();
    application = config.getServletContext();
    response.setContentType("text/html; charset=ISO-8859-1");
    PageContext pageContext = __jspFactory.getPageContext(this,
    request, response, null, true, 8192, true);
    JspWriter out = pageContext.getOut();
    HttpSession session = pageContext.getSession();
    try {
    out.print("\r\n\r\n");
    IPP.ipp.pgHelpViewBean viewBean = (IPP.ipp.pgHelpViewBean)
    pageContext.getAttribute("viewBean", PageContext.REQUEST_SCOPE);
    if(viewBean == null) {
    if(JRunJSPStaticHelpers.getAndSetBean(pageContext,
    "viewBean", IPP.ipp.pgHelpViewBean.class
    , PageContext.REQUEST_SCOPE, 3)) {
    viewBean = (IPP.ipp.pgHelpViewBean)pageContext.getAttribute
    ("viewBean", PageContext.REQUEST_SCOPE);
    } else {
    viewBean = (IPP.ipp.pgHelpViewBean)pageContext.getAttribute
    ("viewBean", PageContext.REQUEST_SCOPE);
    pageContext.setAttribute("viewBean",viewBean);
    out.print("\r\n");
    com.iplanet.jato.taglib.UseViewBeanTag useViewBean__4_1 =
    (com.iplanet.jato.taglib.UseViewBeanTag)
    JRunJSPStaticHelpers.createTagHandler(pageContext,
    "com.iplanet.jato.taglib.UseViewBeanTag");
    useViewBean__4_1.setPageContext(pageContext);
    useViewBean__4_1.setParent(null);
    useViewBean__4_1.setClassName("IPP.ipp.pgHelpViewBean");
    int useViewBean__4_1_startVal = useViewBean__4_1.doStartTag();
    JRunJSPStaticHelpers.checkStartVal
    ("com.iplanet.jato.taglib.UseViewBeanTag",useViewBean__4_1_startVal,Bo
    dyTag.EVAL_BODY_INCLUDE,4);
    if(useViewBean__4_1_startVal == BodyTag.EVAL_BODY_INCLUDE) {
    com.iplanet.jato.view.ContainerView currentView =
    (com.iplanet.jato.view.ContainerView)pageContext.getAttribute
    ("currentView");
    com.iplanet.jato.view.TiledView currentTiledView =
    (com.iplanet.jato.view.TiledView)pageContext.getAttribute
    ("currentTiledView");
    out.print("\r\n<HTML>\r\n<HEAD><!--jato:text name=\"stTemp\"
    fireDisplayEvents=\"true\" escape=\"true\" /--><!-- Added Temporarily
    by ravindran on 8th jan 2001 -->\r\n");
    com.iplanet.jato.taglib.TextFieldTag textField__7_1 =
    (com.iplanet.jato.taglib.TextFieldTag)
    JRunJSPStaticHelpers.createTagHandler(pageContext,
    "com.iplanet.jato.taglib.TextFieldTag");
    textField__7_1.setPageContext(pageContext);
    textField__7_1.setParent(useViewBean__4_1);
    textField__7_1.setSize("20");
    textField__7_1.setMaxLength("20");
    textField__7_1.setFireDisplayEvents("true");
    textField__7_1.setName("tbUserID");
    textField__7_1.doStartTag();
    if(textField__7_1.doEndTag() == Tag.SKIP_PAGE) {
    if(true) return;
    out.print("\r\n<TITLE>pgHelp</TITLE>\r\n</HEAD>\r\n<body BGCOLOR=
    \"white\" bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#0000FF\" vlink=
    \"#800080\" alink=\"#FF0000\">\r\n");
    com.iplanet.jato.taglib.FormTag form__11_1 =
    (com.iplanet.jato.taglib.FormTag)JRunJSPStaticHelpers.createTagHandler
    (pageContext, "com.iplanet.jato.taglib.FormTag");
    form__11_1.setPageContext(pageContext);
    form__11_1.setParent(useViewBean__4_1);
    form__11_1.setMethod("post");
    form__11_1.setName("pgHelp");
    int form__11_1_startVal = form__11_1.doStartTag();
    JRunJSPStaticHelpers.checkStartVal
    ("com.iplanet.jato.taglib.FormTag",form__11_1_startVal,BodyTag.EVAL_BO
    DY_INCLUDE,11);
    if(form__11_1_startVal == BodyTag.EVAL_BODY_INCLUDE) {
    out.print("\r\n");
    if(form__11_1.doEndTag() == Tag.SKIP_PAGE) {
    if(true) return;
    out.print("\r\n");
    com.iplanet.jato.taglib.UseContainerViewTag view__1_1 =
    (com.iplanet.jato.taglib.UseContainerViewTag)
    JRunJSPStaticHelpers.createTagHandler(pageContext,
    "com.iplanet.jato.taglib.UseContainerViewTag");
    view__1_1.setPageContext(pageContext);
    view__1_1.setParent(null);
    view__1_1.setName("IPP.ipp.pgFooterViewBean");
    int view__1_1_startVal = view__1_1.doStartTag();
    JRunJSPStaticHelpers.checkStartVal
    ("com.iplanet.jato.taglib.UseContainerViewTag",view__1_1_startVal,Body
    Tag.EVAL_BODY_INCLUDE,1);
    if(view__1_1_startVal == BodyTag.EVAL_BODY_INCLUDE) {
    currentView = (com.iplanet.jato.view.ContainerView)
    pageContext.getAttribute("currentView");
    currentTiledView = (com.iplanet.jato.view.TiledView)
    pageContext.getAttribute("currentTiledView");
    com.iplanet.jato.view.ContainerView
    IPP.ipp.pgFooterViewBean = (com.iplanet.jato.view.ContainerView)
    pageContext.getAttribute("IPP.ipp.pgFooterViewBean");
    out.print("\r\n<hr color=red size=2>\r\nfrom new_footer.jsp in
    IPP/ipp directory\r\n<font size=\"-2\" face=\"Arial\"><i>Send
    comments to <a href=\"mailto:supportdept@a...\">Any
    Company</a></i></font>\r\n<hr color=red size=2>\r\n");
    com.iplanet.jato.taglib.HiddenTag hidden__6_1 =
    (com.iplanet.jato.taglib.HiddenTag)
    JRunJSPStaticHelpers.createTagHandler(pageContext,
    "com.iplanet.jato.taglib.HiddenTag");
    hidden__6_1.setPageContext(pageContext);
    hidden__6_1.setParent(view__1_1);
    hidden__6_1.setFireDisplayEvents("true");
    hidden__6_1.setName("hdFooter");
    hidden__6_1.doStartTag();
    if(hidden__6_1.doEndTag() == Tag.SKIP_PAGE) {
    if(true) return;
    out.print("\r\n");
    if(view__1_1.doEndTag() == Tag.SKIP_PAGE) {
    if(true) return;
    out.print("\r\n");
    out.print("\r\n</BODY> \r\n</HTML>\r\n");
    if(useViewBean__4_1.doEndTag() == Tag.SKIP_PAGE) {
    if(true) return;
    } catch(Throwable t) {
    if(t instanceof ServletException)
    throw (ServletException) t;
    if(t instanceof java.io.IOException)
    throw (java.io.IOException) t;
    if(t instanceof RuntimeException)
    throw (RuntimeException) t;
    throw JRunJSPStaticHelpers.handleException(t,
    pageContext);
    } finally {
    __jspFactory.releasePageContext(pageContext);
    public String getServletInfo()
    return "pgHelp";
    private static final String[] __dependencies__ =
    {"/IPP/ipp/pgHelp.jsp",null};
    private static final long[] __times__ = {979720473658L,0L};
    public String[] __getDependencies()
    return __dependencies__;
    public long[] __getLastModifiedTimes()
    return __times__;
    public int __getTranslationVersion()
    return 14;
    it is generating 2 semicolons automatically..
    near pageContext.getAttribute("IPP.ipp.pgFooterViewBean");
    regards
    ravi
    In [email protected], "Mike Frisino" <Michael.Frisino@S...>
    wrote:
    Hi Suket,
    I just retested something very similar to this in 1.0.
    Essentially, i took an existing page which included a tiledView.
    I moved the TiledView jsp block into an entirely separate jsp file.
    I then replace the TiledView jsp block in the original jsp with aninclude
    <%@ include file="TiledGetOrders.jsp"%>
    It worked like a charm.
    So I am not sure what is wrong in your case.
    Could be a jrun bug?
    I have tested in resin 1.2.1
    To do proper analysis, we would need to see
    1. The intermediary .java file that the jsp engine creates, andthen tries
    to compile.
    C:/Program
    Files/Allaire/JRun/servers/default/ipp/WEB-INF/jsp/jrun__IPP__ipp__pgHelp2ej
    sp.java
    Can you send that to us?
    Incidentally, although we do not think a problem there would causethe
    compile time error you are seeing,
    i am curious about your file value.
    <%@ include file="/IPP/ipp/pgFooter.jsp"%>I did not need to use a qualified file name, although my includetarget file
    was in the same directory as the
    page that was including it. What is the file system relationshipbetween
    your top level page "pgHelp" and the include
    target "pgFooter".
    Are they in same or diff directories?
    ----- Original Message -----
    From: <suket@u...>
    Sent: Tuesday, January 16, 2001 9:42 PM
    Subject: [iPlanet-JATO] Re: include jsp tags
    Hi,
    We tried to follow the steps described by you to have
    dynamic include in a jsp page.
    my jsp file content is
    <%@p... info="pgHelp" language="java"%>
    <%@t... uri="/WEB-INF/jato.tld" prefix="jato"%>
    <jsp:useBean id="viewBean" class="IPP.ipp.pgHelpViewBean"
    scope="request"></jsp:useBean>
    <jato:useViewBean className="IPP.ipp.pgHelpViewBean">
    <HTML>
    <HEAD>
    <jato:textField name="tbUserID" size="20" maxLength="20"
    fireDisplayEvents="true" />
    <TITLE>pgHelp</TITLE>
    </HEAD>
    <body BGCOLOR="white" bgcolor="#FFFFFF" text="#000000"
    link="#0000FF" vlink="#800080" alink="#FF0000">
    <jato:form name="pgHelp" method="post">
    </jato:form>
    <%@ include file="/IPP/ipp/pgFooter.jsp"%>
    </BODY>
    </HTML>
    </jato:useViewBean>
    This is my pgFooter.jsp
    <jato:view name="IPP.ipp.pgFooterViewBean">
    <hr color=red size=2>
    from new_footer.jsp in IPP/ipp directory
    <font size="-2" face="Arial"><i>Send comments to <a
    href="mailto:<a href="/group/SunONE-JATO/post?protectID=061075104115193209050223163176249165134048139046">supportdept@a...</a>">Any Company</a></i></font>
    <hr color=red size=2>
    <jato:hidden name="hdFooter" fireDisplayEvents="true" />
    </jato:view>
    There is no compilation error in pgFooterViewBean and in
    pgHelpViewBean.
    How ever iam getting a runtime error,
    500 Internal Server Error
    /ipp/servlet/IPP.ipp.ippServlet:
    javax.servlet.ServletException: Compilation error occured:
    allaire.jrun.scripting.DefaultCFE:
    Errors reported by compiler:C:/Program
    Files/Allaire/JRun/servers/default/ipp/WEB-
    INF/jsp/jrun__IPP__ipp__pgHelp2ejsp13.java:105:50:105:50: Syntax:
    expected instead of this token
    What could be the reason for this error message?
    We tried the same thing with another approach, instead of using
    include directive, we directly copied the code of pgFooter.jsp in
    pghelp.jsp.
    even that is giving the same error..
    <%@p... info="pgHelp" language="java"%>
    <%@t... uri="/WEB-INF/jato.tld" prefix="jato"%>
    <jsp:useBean id="viewBean" class="IPP.ipp.pgHelpViewBean"
    scope="request"></jsp:useBean>
    <jato:useViewBean className="IPP.ipp.pgHelpViewBean">
    <HTML>
    <HEAD>
    <jato:textField name="tbUserID" size="20" maxLength="20"
    fireDisplayEvents="true" />
    <TITLE>pgHelp</TITLE>
    </HEAD>
    <body BGCOLOR="white" bgcolor="#FFFFFF" text="#000000"
    link="#0000FF" vlink="#800080" alink="#FF0000">
    <jato:form name="pgHelp" method="post">
    </jato:form>
    <jato:view name="IPP.ipp.pgFooterViewBean">
    <hr color=red size=2>
    from new_footer.jsp in IPP/ipp directory
    <font size="-2" face="Arial"><i>Send comments to <a
    href="mailto:<a href="/group/SunONE-JATO/post?protectID=061075104115193209050223163176249165134048139046">supportdept@a...</a>">Any Company</a></i></font>
    <hr color=red size=2>
    <jato:hidden name="hdFooter" fireDisplayEvents="true" />
    </jato:view>
    </BODY>
    </HTML>
    </jato:useViewBean>
    Please give us a feasible solution to solve this problem.
    Thx
    Ravi
    --- In [email protected], "Todd Fast" <Todd.Fast@S...>wrote:
    Craig & Eric--
    (If you're not interested in the resolution to the problem Craigposted,
    please skip ahead to the section in which I describe the
    preferred
    technique
    for including headers and other common content in a JATO page.
    This
    discussion is very important because I introduce the concept of"view
    compostion", in which JATO pages are composed of modular andreusable view
    components. This is one of the most powerful new features of
    JATO,
    and a
    capability that simply wasn't possible in NetDynamics.)
    Posted Problem Resolution
    Craig & Eric, from what I can tell, you are both trying to
    include
    a full
    view bean in a parent page at translation time. This is notpossible, as
    you can see from the compiler errors you get. There are
    collisions
    when
    multiple top-level tags are included in the same JSP.
    When I said earlier that you needed to use a translation-timeinclude
    instead of a run-time include, I was assuming that you were
    trying
    to
    include a fragment of HTML/JSP in the parent page. By
    fragment, I
    mean HTML
    or JSP content that does not declare a view bean or form, but
    rather
    references views contained within the parent view bean. If youwant to
    include a full page (JSP + ViewBean) in another page, then you'dneed to use
    a run-time include. A run-time include temporarily pauses therendering of
    the current page, and sends the full request to the included
    page
    as if it
    were a separate client request. The resulting content from theincluded
    page is inlined into the parent page's content, and processing
    of
    the parent
    page then continues.
    Now I realize after thinking about it a bit that we may not have
    sufficiently provided for full page includes because of some
    late-
    breaking
    changes in the request context handling. After some basic
    testing,
    it
    appears that if you try to include one JATO page in another byreferencing
    the JSP, the included page will cause a class cast exception tooccur.
    There may also be problems because the request context on theincluded page
    will not have been set. In any case, full JATO page inclusionlooks like
    it's an issue we're going to have to address with some fixes
    before
    it will
    work properly. My apologies. (One workaround if this is
    necessary
    is to
    make the included view bean a child view of the parent view
    bean.
    I won't
    go into that however).
    How to Include Common Content
    Now, on to the discussion of the preferred way of including
    common
    content
    in a JATO page. Let's say you have a common header you want toinclude in
    one or more of your JATO pages. Because of the issue I notedabove, and the
    fact that the header is not really independently displayable,
    you
    don't want
    to do a run-time include (which, remember, would necessitateincluding a
    full JATO page).
    Instead, you should include the header as an HTML/JSP fragmentusing a
    translation-time include. Depending on whether your header hasdynamic
    information, you can do one of two things. If the header is
    just
    static
    content and/or set of links, you can just reference the HTMLfragment in the
    parent HTML directly, and you won't need any kind of view or
    view
    bean to
    back it, or any reference to anything in JATO.
    If you need some dynamic info in the header, like the module URLfor a link,
    you can reference the parent page's view bean for this
    information
    by simply
    including references to the parent page's implicit JSP variables(viewBean,
    currentVIew, and currentTiledView). For example:
    Parent JSP:
    <jsp:useBean id="viewBean" class="..."scope="request"></jsp:useBean>
    <jato:useViewBean className="..." fireChildDisplayEvents="true">
    <%@ include file="MyInclude.jsp" %>
    </jato:useViewBean>
    Included content (MyInclude.jsp):
    ... viewBean.getRequestContext().getModuleURL() ...
    The final HTML with the included content would then look like
    this:
    <jsp:useBean id="viewBean" class="..."scope="request"></jsp:useBean>
    <jato:useViewBean className="..." fireChildDisplayEvents="true">
    ... viewBean.getRequestContext().getModuleURL() ...
    </jato:useViewBean>
    MyInclude.jsp will be inlined in the parent JSP before it istranslated to a
    servlet. Note that it does not include the full HTML tags
    normally
    found in
    an HTML file--there are no <html>, <head>, or <body> tags
    because
    it is not
    expected to be used outside of an include page. In effect,
    this is
    the
    equivalent of a server-side include (SSI).
    Now, if you need truly dynamic info in the header, like say youwant to
    display the user's name and SSN, then you'd likely want to
    embed a
    child
    view in the parent view bean which will encapsulate & provide
    the
    necessary
    information. This is in contrast to actually making these
    fields
    direct
    children of the the parent view bean, which would be a tedious
    and
    error
    prone task on every page you wanted to include this information.Let me try
    to contrast these two approaches with a diagram of parent-child
    relationships:
    Here's the bad way:
    ParentViewBean (ViewBean)
    |
    +-- UserFirstName (StaticTextField)
    |
    +-- UserSSN (StaticTextField)
    In this situation, you'd need to provide the logic to populatethese fields
    in every view bean on which they appeared. This is tedious andessentially
    eliminates the "common"-ness of the content (this is also whatNetDynamics
    forced people to do).
    Now, the better way:
    ParentViewBean (ViewBean)
    |
    +-- MyHeaderView (MyHeaderView.java)
    |
    +-- UserFirstName (StaticTextField)
    |
    +-- UserSSN (StaticTextField)
    In the better way, you can see that the header information isencapsulated
    in an instance of "MyHeaderView", which is a subclass ofContainerViewBase
    or one of the other ContainerView subtypes. The population of
    the
    data
    fields is encapsulated in that view, and the parent view need
    not
    know
    anything about what's actually being displayed by that view.
    Thus, you can see that MyHeaderView, in conjunction with a
    snippet
    of JSP
    content in a companion file, is completely modular and can beembedded in
    any parent view bean on which you want the header to appear.
    The
    only
    requirement is then to include MyHeaderView as a child view of
    the
    parent
    view bean, and to include the correct JSP content that
    references
    that child
    view.
    The included JSP content would now look something like this:
    <jato:view name="MyHeaderView">
    <table>
    <tr><td>... <jato:staticText name="UserFirstName"/>
    ...</td></tr>
    <tr><td>... <jato:staticText name="UserSSN"/> ...</td></tr>
    </table>
    </jato:view>
    If we now included this content in the parent JSP from furtherabove, we get
    the following as the JSP content before it is translated into aservlet:
    <jsp:useBean id="viewBean" class="..."scope="request"></jsp:useBean>
    <jato:useViewBean className="..." fireChildDisplayEvents="true">
    <jato:view name="MyHeaderView">
    <table>
    <tr><td>... <jato:staticText name="UserFirstName"/>
    ...</td></tr>
    <tr><td>... <jato:staticText name="UserSSN"/> ...</td></tr>
    </table>
    </jato:view>
    </jato:useViewBean>
    Ultimately, this technique is called "view compostion" or "view
    aggregation", and is one of the major new features of JATO. Youcan now
    define reusable view components and embed them in multiple viewcontainers,
    on the same page or on different pages. Each page acts as a
    frame,
    in which
    you provide the contents from modular components. Using thistechnique, you
    can develop reusable view classes and chunks of JSP that can bearbitrarily
    combined into complex pages.
    I know this is a long and rambling discussion, but I hope I've
    made
    myself
    at least partly clear. I'm more than happy to clarify anything
    or
    elaborate
    more. Please let me know.
    Todd
    Todd Fast
    Senior Engineer
    Sun/Netscape Alliance
    todd.fast@e...
    [email protected]
    [email protected]

  • Custom tag in included JSP page cause exception (WLS 5.1 SP 9)

              An application use custom tags (JSP Tag extensions) in JSP page
              included into another JSP page by means <jsp:include> instruction.
              After we had installed Service Pack 9 for Weblogic 5.1
              browser's call of including JSP began show an error.
              When I remove Weblogic510sp9.jar and Weblogic510sp9boot.jar
              references from startWebLogic.cmd, the error diagnostic disappear.
              Is Service Pack Number 9 wrong?
              ==========================
              Web browser diagnostic:
              Error 500--Internal Server Error
              From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
              10.5.1 500 Internal Server Error
              The server encountered an unexpected condition which prevented it from fulfilling
              the request.
              ==========================
              Console diagnostic:
              Tue Jun 05 17:40:14 MSD 2001:<I> <WebAppServletContext-dscat> looking for taglib
              uri /exttags.tld as resource /WEB-INF/e
              xttags.tld in Web Application root:
              Tue Jun 05 17:40:15 MSD 2001:<I> <WebAppServletContext-dscat> Generated java file:
              C:\weblogic\dscat\WEB-INF\_tmp_war_ds
              cat\jsp_servlet\_jsp\_opos\_catalog.java
              Tue Jun 05 17:40:25 MSD 2001:<E> <WebAppServletContext-dscat> Servlet failed with
              Exception
              java.lang.VerifyError: (class: jsp_servlet/_jsp/_opos/_catalog, method: _jspService
              signature: (Ljavax/servlet/http/Http
              ServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Register 12 contains
              wrong type
              at java.lang.Class.newInstance0(Native Method)
              at java.lang.Class.newInstance(Unknown Source)
              at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:469)
              at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java,
              Compiled Code)
              at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:442)
              at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:228)
              at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:200)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:115)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:138)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:915)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:879)
              at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
              at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365)
              at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
              ==========================
              Including JSP file:
              <%@ include file="catalog_real.jsp" %>
              ==========================
              Included JSP file:
              <%@ taglib uri="/exttags.tld" prefix="dscat" %>
              <dscat:pageheader>Catalog header</dscat:pageheader>
              ==========================
              Tag extansions library (WEB-INF/exttags.tld file):
              <?xml version="1.0" encoding="ISO-8859-1" ?>
              <!DOCTYPE taglib
              PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
                   "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
              <taglib>
              <tlibversion>1.0</tlibversion>
              <jspversion>1.1</jspversion>
              <shortname>dscat</shortname>
              <tag>
              <name>pageheader</name>
              <tagclass>ru.ibs.xbcat.view.tag.PageHeader</tagclass>
              </tag>
              </taglib>
              ==========================
              Class PageHeader:
              package ru.ibs.xbcat.view.tag;
              import java.io.*;
              import javax.servlet.jsp.*;
              import javax.servlet.jsp.tagext.*;
              public class PageHeader extends BodyTagSupport {
              public int doStartTag() throws javax.servlet.jsp.JspException {
              return BodyTag.EVAL_BODY_TAG;
              public int doAfterBody() throws javax.servlet.jsp.JspException {
              return(SKIP_BODY);
              

              Are you using Jikes? See if this helps ...
              http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=article&group=weblogic.developer.interest.jsp&item=6287&utag=
              Mike
              "Radik Usmanov" <[email protected]> wrote:
              >
              >An application use custom tags (JSP Tag extensions) in JSP page
              >included into another JSP page by means <jsp:include> instruction.
              >
              >After we had installed Service Pack 9 for Weblogic 5.1
              >browser's call of including JSP began show an error.
              >When I remove Weblogic510sp9.jar and Weblogic510sp9boot.jar
              >references from startWebLogic.cmd, the error diagnostic disappear.
              >
              >Is Service Pack Number 9 wrong?
              >==========================
              >Web browser diagnostic:
              >
              >Error 500--Internal Server Error
              >From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
              >10.5.1 500 Internal Server Error
              >The server encountered an unexpected condition which prevented it from
              >fulfilling
              >the request.
              >
              >==========================
              >Console diagnostic:
              >
              >Tue Jun 05 17:40:14 MSD 2001:<I> <WebAppServletContext-dscat> looking
              >for taglib
              >uri /exttags.tld as resource /WEB-INF/e
              >xttags.tld in Web Application root:
              >Tue Jun 05 17:40:15 MSD 2001:<I> <WebAppServletContext-dscat> Generated
              >java file:
              >C:\weblogic\dscat\WEB-INF\_tmp_war_ds
              >cat\jsp_servlet\_jsp\_opos\_catalog.java
              >Tue Jun 05 17:40:25 MSD 2001:<E> <WebAppServletContext-dscat> Servlet
              >failed with
              >Exception
              >java.lang.VerifyError: (class: jsp_servlet/_jsp/_opos/_catalog, method:
              >_jspService
              >signature: (Ljavax/servlet/http/Http
              >ServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Register 12
              >contains
              >wrong type
              > at java.lang.Class.newInstance0(Native Method)
              > at java.lang.Class.newInstance(Unknown Source)
              > at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:469)
              > at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java,
              >Compiled Code)
              > at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:442)
              > at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:228)
              > at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:200)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:115)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:138)
              > at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:915)
              > at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:879)
              > at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
              > at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365)
              > at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
              >Code)
              >
              >==========================
              >Including JSP file:
              >...
              > <%@ include file="catalog_real.jsp" %>
              >...
              >
              >==========================
              >Included JSP file:
              >...
              > <%@ taglib uri="/exttags.tld" prefix="dscat" %>
              >...
              ><dscat:pageheader>Catalog header</dscat:pageheader>
              >...
              >==========================
              >Tag extansions library (WEB-INF/exttags.tld file):
              >
              ><?xml version="1.0" encoding="ISO-8859-1" ?>
              ><!DOCTYPE taglib
              > PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
              >     "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
              >
              ><taglib>
              > <tlibversion>1.0</tlibversion>
              > <jspversion>1.1</jspversion>
              > <shortname>dscat</shortname>
              >
              > <tag>
              > <name>pageheader</name>
              > <tagclass>ru.ibs.xbcat.view.tag.PageHeader</tagclass>
              > </tag>
              >
              ></taglib>
              >==========================
              >Class PageHeader:
              >
              >package ru.ibs.xbcat.view.tag;
              >
              >import java.io.*;
              >import javax.servlet.jsp.*;
              >import javax.servlet.jsp.tagext.*;
              >
              >public class PageHeader extends BodyTagSupport {
              >
              > public int doStartTag() throws javax.servlet.jsp.JspException {
              > return BodyTag.EVAL_BODY_TAG;
              > }
              >
              > public int doAfterBody() throws javax.servlet.jsp.JspException {
              > ...
              > return(SKIP_BODY);
              > }
              >}
              >
              

  • How to upload a file into server using j2ee jsp and servlet with bean?

    How to upload a file into server using j2ee jsp and servlet with bean? Please give me the reference or url about how to do that. If related to struts is more suitable.
    Anyone help me please!

    u don't need j2ee and struts to do file uploading. An example is as such
    in JSP. u use the <input> file tag like
    <input type="file"....>You need a bean to capture the file contents like
    class FileUploadObj {
        private FormFile srcFile;
        private byte[] fileContent;
        // all the getter and setter methods
    }Then in the servlet, you process the file for uploading
        * The following loads the uploaded binary data into a byte Array.
        FileUploadObj form = new FileUploadObj();
        byte[] byteArr = null;
        if (form.signFile != null) {
            int filesize = form.srcFile.getFileSize();
            byteArr = new byte[filesize];
            ByteArrayInputStream bytein = new ByteArrayInputStream (form.srcFile.getFileData());
            bytein.read(byteArr);
            bytein.close();
            form.setFileContent(byteArr);
        // Write file content using Writer class into the destination file in the server.
        ...

  • ADF Question: included jsp action firing after page load

    Hi all,
    I am using JDeveloper 10.1.3.3 and ADF + BC.
    Here is another interesting situation for you. I have a page with an included jsp at the top with tabbed navigation.
    My page is for entering an order. Users can have multiple orders "open" in other tabs at the same time. Users can also have many other non-order pages opened in tabs. We are using the same View Objects (Entity Based) along with Transient View Objects on each order.
    Each order tab needs to "remember" the orderId so that when the user clicks on a tab, the appropriate rows are set in the order that is to be "opened". This occurs in a tab's action() - setting the orderId and forwarding to the appropriate page (if different) or reloading the same page with the new id.
    On page load we try to get the tab's orderId and load that as the current row of all of our view objects. This should make it seem like they are all concurrently running.
    The problem is when going from order to order, once the tab is clicked, the page's OnPageLoad method runs BEFORE the action of the tab click is processed. Therefore the order that loads thinks it is the previous order, and does not load the correct View Object rows.
    Does anyone know how we can force the tab action to occur before the page load so that we can get the proper orderId?
    Thanks,
    Heather

    Thanks for your speedy reply Frank,
    We are using the onPageLoad from the OnPageLoadBackingBeanBase which implements the PagePhaseListener.
    In this we are doing something like:
            if (isPostback()) {
                String selectedTabNum =
                    EL.getAsString("#{TabCounter.currentSelectedTab}");
                String test = EL.getAsString("#{TabCounter.tabOrderId" + selectedTabNum + "}");
                System.out.println("tab num " + selectedTabNum);
                System.out.println( "testing " + test );
            }our tab counter (a session bean) has these two methods (among others):
        public void setCurrentSelectedTab(int currentSelectedTab) {
            this.currentSelectedTab = currentSelectedTab;
            for(int i=1;i<= 20; i++) {
                EL.set(BACKING_START+"selectedTab"+i+"}", false);
            EL.set(BACKING_START+"selectedTab"+currentSelectedTab+"}", true);
        public String getNextAvailableTab () {
            for(int i=2;i<=20;i++) {
                boolean isTab = (new Boolean (String.valueOf(EL.get(BACKING_START+"render"+i+"}")))).booleanValue();
                if (!isTab) {
                    return String.valueOf(i);
            return "0";
        }our tab header (request bean) has this method as the action for clicking a tab:
            System.out.println("handleTabNavigation");
            String componentId = actionEvent.getComponent().getId();
            String selectedTab = componentId.replaceFirst("tab","");
            int selectedTabNum = new Integer(selectedTab).intValue();
            EL.set("#{TabCounter.currentSelectedTab}", selectedTabNum);
            String tabType = EL.getAsString("#{TabCounter.tabType"+selectedTabNum+"}");
            if (tabType.equals("regular")) {
                String orderId = EL.getAsString("#{TabCounter.tabOrderId"+selectedTabNum+"}");
                EL.set("#{processScope.unfinishedHeaderId}", orderId);
            } else if (tabType.equals("standing")) {
                String orderId = EL.getAsString("#{TabCounter.tabOrderId"+selectedTabNum+"}");           
            }Thanks,
    Heather

  • Passing parameters to included JSP files using JSF

    I have included JSP, which I use in many other JSP files. I want to display message in this included JSP which depends on the information in JSP files which include this JSP. How can I do this without using scriptlets?
    Message was edited by:
    cheltsov

    I have one included page in one jsp page(mother page). I have included it by jsp:include tag. The included page consists of two inputText. I need to pass the parameters of the mother page together with the parameters in the included page in the backingBean of the mother page. Hope this one is clearer.
    The code snippet in the mother page looks like this
    <jsp:include page="/pages/ps/sample_rep2.jsp"/>.
    In the sample_rep2.jsp, I have two inputText. How can I pass this in the backingBean of the motherpage.
    The sample_rep2.jsp is the included page here. The sample_rep2.jsp looks like this:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
    <af:panelBox>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
    <af:panelBox>
    <af:inputText label="User ID" id="userid" value="CDOUGLAS"/>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
    <af:panelBox>
    <af:inputText label="User ID" id="userid" />
    <af:inputText label="Age" id="age"/>
    </af:panelBox>

  • Precompiling a JSP that uses a bean

    Hi,
              I am facing a problem when I startup Weblogic with precompiling ON.
              I have a JSP that uses a bean. When the JSP is being compiled, Weblogic is
              actually trying to instantiate the bean and is executing code in the
              constructor of the bean !
              When I use the weblogic.jspc compiler to compile the JSP, no such thing
              happens.
              So this happens only when I precompile such a JSP when starting up Weblogic
              server.
              - Why does weblogic attempt to instantiat the bean ?
              - Is there any way to tell weblogic "dont instantiate this bean now" ?
              Also, the compiler is unable to find a class that is required by the bean. However, this class is there in the /applications/..../WEB-INF/lib in a JAR file. So why is the class not being found ?
              Thanks,
              Jay
              

    Do a stack trace from the constructor to determine who is calling it, and
              maybe why ...
              Peace,
              Cameron Purdy
              Tangosol Inc.
              << Tangosol Server: How Weblogic applications are customized >>
              << Download now from http://www.tangosol.com/download.jsp >>
              "Jayakumar Nandakumar" <[email protected]> wrote in message
              news:3bb0f6d6$[email protected]..
              > Hi,
              > I am facing a problem when I startup Weblogic with precompiling ON.
              >
              > I have a JSP that uses a bean. When the JSP is being compiled, Weblogic is
              > actually trying to instantiate the bean and is executing code in the
              > constructor of the bean !
              >
              > When I use the weblogic.jspc compiler to compile the JSP, no such thing
              > happens.
              >
              > So this happens only when I precompile such a JSP when starting up
              Weblogic
              > server.
              >
              > - Why does weblogic attempt to instantiat the bean ?
              > - Is there any way to tell weblogic "dont instantiate this bean now" ?
              >
              > Also, the compiler is unable to find a class that is required by the bean.
              However, this class is there in the /applications/..../WEB-INF/lib in a JAR
              file. So why is the class not being found ?
              >
              > Thanks,
              > Jay
              

  • Repeater fails using {container.item} context within included JSP pages

    Greetings,
    I'm using Bea Workshop 8.1.2 and netui's based framework.
    I'm experiencing a problem relating to the use of jsp:insert tags as a way of templating the code as to make it more maintainable and cost effective.
    The problem arises when using repeaters and then binding a <netui> tag with a "container.item" context inside the included jsp page.
    Example:
    On a PageController we define on its scope a rather simple data structure:
    public String[] array={"Item1","Item2","Item3"}
    The associated index is as follows:
    index.jsp
    <netui:html>
    <netui-data:repeater dataSource="{pageFlow.array}">
    <netui-data:repeaterHeader></netui-data:repeaterHeader>
    <netui-data:repeaterItem>
    <netui:label value="{container.item}"/><br>
    </netui-data:repeaterItem>
    <netui-data:repeaterFooter></netui-data:repeaterFooter>
    </netui-data:repeater>
    </netui:html>
    This works as expected, it prints the data in the array list. Fine.
    Now, with the <jsp:insert> tag usage, we get two files index.jsp and body.jsp:
    index.html
    <netui:html>
    <netui-data:repeater dataSource="{pageFlow.array}">
    <netui-data:repeaterHeader></netui-data:repeaterHeader>
    <netui-data:repeaterItem>
    <jsp:include page="body.jsp" flush="true"/>
    </netui-data:repeaterItem>
    <netui-data:repeaterFooter></netui-data:repeaterFooter>
    </netui-data:repeater>
    </netui:html>
    body.jsp
    <netui:html>
    <netui:label value="{container.item}"/>
    <netui:label value="{pageFlow.array[0]}"/>
    </netui:html>
    With this example the {container.item} tag fails with this exception:
    "Caught exception when evaluating expression "{container.item}" with available binding contexts [actionForm, pageFlow, globalApp, request, session, appication, pageContext, bundle, container, url, pageInput]. Root cause: com.bea.wlw.netui.script.xscript.IllegalContextStateException: The Tag "com.bea.wlw.netui.tags.html.Label@cb5dce" does not have a valid parent of type DataAccessProvider. The expression "container["item"]" requires a parent of this type."
    BUT - and here is my problem with this - the label tag with {pageFlow.array[0]} PRINTS THE DESIRED ELEMENT.
    Also, on an extended example with a <form> tag around the main index html and the array structure inside a FormData class, {actionForm.array[0]} ALSO PRINTS THE DESIRED ELEMENT.
    Only {container.item} gloriously fails with an exception complaining about IllegalContextStateException.
    This is a total nonorthogonal behaviour, the features do not work as expected and indeed, with the importance of repeaters for netui's development, this preclude us from the minimum standard for structured web application design.
    Does anyone have any clue about this behaviour? If not a fix, at least an explanation...
    Thanks in advance.

    I am trying to insert multiple rows I when submited I am get ting only 1 row in the DatabaseForm.
    my netui.log file shows this error:
    29 Oct 2004 17:25:48,941 WARN NetUIReadVariableResolver []: Could not create a ContextFactory for type "com.bea.netuix.servlets.script.PortalVariableResolver$PortalContextFactory" because the ContextFactory implementation class could not be found.
    29 Oct 2004 17:26:35,288 ERROR SortFilterColumn []: Unable to load /com/bea/wlw/netui/databinding/grid/filter/filter-window.properties. Using com.bea.wlw.netui.tags.databinding.grid.util.grid
    Throwable: java.util.MissingResourceException: Can't find bundle for base name /com/bea/wlw/netui/databinding/grid/filter/filter-window.properties, locale en_US
    Stack Trace:
    java.util.MissingResourceException: Can't find bundle for base name /com/bea/wlw/netui/databinding/grid/filter/filter-window.properties, locale en_US
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:804)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:773)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:511)
    at com.bea.wlw.netui.tags.databinding.grid.column.SortFilterColumn.<clinit>(SortFilterColumn.java:143)
    at jsp_servlet._activitychange.__grid._jspService(grid.jsp:21)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:463) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:208) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:316)
    at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(PageFlowRequestProcessor.java:1301)
    at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedirector.forward(PageFlowRequestProcessor.java:1317)
    at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1199)
    at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1093)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:650)
    at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527)
    at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6456)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    29 Oct 2004 17:27:31,164 WARN FlowController []: Could not find exception handler method exceptionHandler for java.lang.ArrayIndexOutOfBoundsException.
    29 Oct 2004 17:27:31,165 WARN FlowController []: Could not find exception handler method exceptionHandler for java.lang.IndexOutOfBoundsException.
    29 Oct 2004 17:27:31,165 WARN FlowController []: Could not find exception handler method exceptionHandler for java.lang.RuntimeException.
    The actionForm uses a FormData which has a Array of all the fields that need to be populated.
    Any idea why only 1 row shows up ?.
    Thanks
    Raghav

  • JSP vs. Class

    this is a 2 part question.
              1)at my company, jsp pages do a significan amount of server-side
              processing while using regular class files for some additional
              processing. my supervisor wants to remove as much as possible of the jsp
              server-side code and place it in regular class files while having jsp
              pages use those class files. bottom line, what would yield a higher
              performance?
              2)my company's intranet application architecture is JSP->EJB(session
              only; entity is not used at all)->regular class files. EJBs act more
              like a gateway between jsp and regular class files as they do not do any
              processing. for example, if a jsp page makes a call to a class, say
              Class1, it is routed through an EJB. now, if Class1 makes a call to
              Class2, it is done directly without EJB involvement. however, once such
              transaction terminates and the focus is returned back to a jsp, any
              subsequent call to any class would result in a request being routed
              through an EJB again. the question is what would happen if we completely
              removed the EJB layer and just "hit" regular class files directly from
              jsp pages? i now that it works fine since i have tried it on many
              occasions. if such is the case, what is the point of using EJBs in this
              scenario?
              thank you for your help in advance!
              

    Part 1. There are many reasons you might want to make your jsp code lighter
              and imbed more functionality in class files. This would make the JSP files
              easier to maintain, and allow you to have class files which contain logic
              which is not specific to the presentation. (I.e. you could reuse the class
              files much easier in multiple JSP files or other types of clients
              (applications, RMI, etc). As for performance, I don't know if you are going
              to see a dramatic change in performance by removing Java code from the jsp's
              and moving it to the class files. However, you can implement some things
              into your Java class files that you probably wouldn't want to do in jsp
              files, such as connection pooling, singletons, etc that might give you
              higher performance (if you were, for example, making database connections
              straight from the jsp files). For simple iterators and such take a look at
              JSP tags, they are the best model for breaking things out... jsp's don't
              have Java, the beans don't have html- all the translation happens in the
              tags. In the end though I think your biggest gain will be maintainability
              and reusability of the code, not performance.
              Part 2.
              Depends on what you are doing with the class files. Take a look at what the
              EJB architecture affords you--- things like Session State are reliably
              stored in the case of a system crash. (You might want to not commit
              something like an order to the database until the user has visited 3 jsp
              form pages--- between the page visits store the form information in the
              Session Bean to reliably keep the data). Most importantly, you can use
              EJB's to easily take care of issues with transactions and synchronization.
              So if you have a multi-user scenario and need transaction capabilities,
              ejb's are going to really help. If you are already managing synchronization
              issues in your plain java class files you might be ok--- if not you may have
              problems when two people are accessing the class at the same time. Problems
              with not synchronizing your plain class files might not manifest themselves
              most of the time, but under load they are sure to crop up. By wrapping
              every transaction into a session bean you can guarantee that methods called
              on the class are done in a transactionally safe behavior, as well has have
              more choices in terms of optimizing for speed / reliability.
              You might find reading the Enterprise JavaBeans book from O'Reilly useful.
              Also the following link has some lectures from JavaOne which are really
              good:
              http://java.sun.com/javaone/javaone00/replay.html
              Listen to the EJB Architecture Design Strategies and Performance
              Optimizations lecture, it has some good explanations of EJB architecture.
              Josh Lannin
              "mikhail perelman" <[email protected]> wrote in message
              news:[email protected]...
              > this is a 2 part question.
              > 1)at my company, jsp pages do a significan amount of server-side
              > processing while using regular class files for some additional
              > processing. my supervisor wants to remove as much as possible of the jsp
              > server-side code and place it in regular class files while having jsp
              > pages use those class files. bottom line, what would yield a higher
              > performance?
              >
              > 2)my company's intranet application architecture is JSP->EJB(session
              > only; entity is not used at all)->regular class files. EJBs act more
              > like a gateway between jsp and regular class files as they do not do any
              > processing. for example, if a jsp page makes a call to a class, say
              > Class1, it is routed through an EJB. now, if Class1 makes a call to
              > Class2, it is done directly without EJB involvement. however, once such
              > transaction terminates and the focus is returned back to a jsp, any
              > subsequent call to any class would result in a request being routed
              > through an EJB again. the question is what would happen if we completely
              > removed the EJB layer and just "hit" regular class files directly from
              > jsp pages? i now that it works fine since i have tried it on many
              > occasions. if such is the case, what is the point of using EJBs in this
              > scenario?
              >
              > thank you for your help in advance!
              >
              

Maybe you are looking for

  • Report to show workbook, worksheets and owner

    Hi, I need to be able to produce a report to show all of the workbooks stored on the db. I need to be able to list the owner, workbook name and the sheets. I have been looking at Eul_user_queries but there is way too much data there for what I need.

  • Crashes on window resize

    I am a loyal user of logic for 8 years now. yes I'm posting about an issue where logic crashes (as in: freezes for 30 seconds then closes even if other apps are reWired to it) It does this SOMETIMES, when resizing any window in logic.. it says: UNEFI

  • CS5: Could not complete your request because the file is not compatible with this version of Photosh

    After several hours creating a PSD file in Photoshop CS5 I attempted to revert some changes and got this error "Could not complete your request because the file is not compatible with this version of Photoshop". I closed the file and restarted Photos

  • BOM Change Number

    How to make change no mandatory for BOM creation and change? The required config should not impact any other objects except BOM Creation & Change.

  • Pre-configured RF Transactions

    Hi, Could anyone provide me with the link to download pre-configured RF Transactions (Warehouse Management)? SS