Java Bean access in a JSP Tag handler class

Hello Everybody,
I am trying to access my java bean(ErrorBean.java) in th doEndTag() method of the tag handler class(MyTagHandler.java) and iam getting an "CLASSCAST EXCEPTION"
I am doing it like this in the tag handler class.
MyBeans.ErrorBean errorBean = (MyBeans.ErrorBean)pageContext.getSession().getAttribute("ErrorBean");
Where MyBeans is the package in which my Error Bean is and iam placing the ErrorBean object in the session object before it comes to the jsp page where i have the jsp Custom tag:
<%@ taglib uri="/WEB-INF/taglib.tld" prefix="errors" %>
<errors:message/>
<%@ include file="footer.jsp"%>
I was of the opinion that i was casting it right...can anyone help me to find ...where iam doing it wrong...its really URGENT ..PLEASE

Friend that did not work either ...
u know what...the ErrorTagHandler class is comiling fine with out errors but in the jsp page when the custom tag is hit..this error is showing up when i see the server log.
can you throw some light on this..
thanks..
Firasath

Similar Messages

  • How to submit a form in jsp from tag handler class

    I have a form in jsp.I created some more links in the tag handler class.Based on the link we click form action will take place.Now how can i submit the form in tag handler class for the links i created in that class.

    I have a form in jsp.I created some more links in the tag handler class.Based on the link we click form action will take place.Now how can i submit the form in tag handler class for the links i created in that class.

  • JSF 1.2 tag handler classes in JSF 1.1 environment

    Hi,
    I’m developing a JSF 1.2 application with RSA 7.5.1. When I run it in the WAS 6.1 I get the following exception:
    javax.servlet.ServletException:
    Unable to convert string '#{onebean.onestring}' to class
    javax.el.ValueExpression for attribute title:
    java.lang.IllegalArgumentException:
    Property Editor not registered with the PropertyEditorManager
    at org.apache.jasper.runtime.PageContextImpl.handlePageException
    (PageContextImpl.java:660)etc...
    I think my WAS 6.1 running environment doesn’t admit Tag Handler classes in JSF 1.2 style (you know: Extending UIComponentELTag, with all attributes in the tag class of type valueExpression along with setter methods...).
    In case this suspect is true, is there any tricky way to run this JSF 1.2 components in a JSF 1.1 environment?
    Do you have any ideas to solve this problem without downgrading my JSF tag handler classes from 1.2 to 1.1?
    Thanks a lot!

    Hi BalusC,
    This is the full history:
    I started coding the tag handler classes of my JSF components in the JSF 1.2 way.
    But know, I’am being forced to run the web app that uses those JSF 1.2 components in a WAS 6.1 (servlet 2.4 & jsp 2.0, I suppose).
    Not very elegant solution, I put a ‘servlet2.5-jsp2.1-api.jar’ file in my ‘WebContent\WEB-INF\lib’ directory, and configured a ‘PARENT-LAST’ class loader policy in the server configuration.
    This is my web.xml:
    <?xml version="1.0"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
            http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">
       <servlet>
          <servlet-name>Faces Servlet</servlet-name>
          <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
          <load-on-startup>1</load-on-startup>
       </servlet>
       <servlet-mapping>
          <servlet-name>Faces Servlet</servlet-name>
          <url-pattern>*.faces</url-pattern>
       </servlet-mapping>
         <welcome-file-list>
              <welcome-file>index.html</welcome-file>
              <welcome-file>index.htm</welcome-file>
              <welcome-file>index.jsp</welcome-file>
              <welcome-file>default.html</welcome-file>
              <welcome-file>default.htm</welcome-file>
              <welcome-file>default.jsp</welcome-file>
         </welcome-file-list>
    </web-app>When I launch the JSF example page, I get no logs, no messages, ONLY a blank page (¿?)
    Thank you very much for your skilled help!

  • Tag Handler Class classpath

              Hi.
              I have some problems with Tag Handler Classes in custom tags. When tag handler
              class store in package all is OK - I place it's class-file in /WEB-INF/classes/%package-path%/%class-name%.class
              and in tld-file in <tagclass> write: %package-path%.%class-name%.
              When tag handler class don't store in package I place class-file in /WEB-INF/classes/%class-name%.class
              and in tld-file in <tagclass> write: %class-name%, but it's doen't work. When
              jsp starts I recieve:
              D:\bea\wlserver\config\mydomain\applications\.wl_temp_do_not_delete\WEB-INF\_tmp_war_myserver_myserver_CustomTag\jsp_servlet\_simpleexample.java:81:
              cannot resolve symbol
              symbol : class ExampleTag
              location: class jsp_servlet._simpleexample
              ExampleTag csajspexample0 = null;
              ^
              Why? Plese, help me.
              Igor
              

    You probably should not use unnamed packages at all.
              Language spec specifically says that "Unnamed packages are provided by the
              Java platform principally for convenience when developing small or temporary
              applications or when just beginning development."
              Igor Vinnikov <[email protected]> wrote:
              > Hi.
              > I have some problems with Tag Handler Classes in custom tags. When tag handler
              > class store in package all is OK - I place it's class-file in /WEB-INF/classes/%package-path%/%class-name%.class
              > and in tld-file in <tagclass> write: %package-path%.%class-name%.
              > When tag handler class don't store in package I place class-file in /WEB-INF/classes/%class-name%.class
              > and in tld-file in <tagclass> write: %class-name%, but it's doen't work. When
              > jsp starts I recieve:
              > D:\bea\wlserver\config\mydomain\applications\.wl_temp_do_not_delete\WEB-INF\_tmp_war_myserver_myserver_CustomTag\jsp_servlet\_simpleexample.java:81:
              > cannot resolve symbol
              > symbol : class ExampleTag
              > location: class jsp_servlet._simpleexample
              > ExampleTag csajspexample0 = null;
              > ^
              > Why? Plese, help me.
              > Igor
              Dimitri
              

  • JWSDP Custom Tags (finding tag handler class)

    Hi,
    ive been using the Java Web Services Development Pack
    ive tried several examples of creating custom tags all seem to have different directory structures and none seem to work. Heres my setup...
    rootdir -> index.jsp
    rootdir -> WEB-INF -> web.xml
    rootdir -> WEB-INF -> tlds -> demo.tld (the tag library descriptor)
    rootdir -> WEB-INF -> classes -> demo -> tags -> Greeter.java (the tag handler class)
    there are some other folders created by deploytool but they are empty.
    heres demo.tld...
    <taglib>
    <tlib-version>1.0</tlib-version>
    <jsp-version>2.0</jsp-version>
    <short-name>demo</short-name>
    <uri>DemoTags</uri>
    <tag>
    <name>greeter</name>
    <tag-class>demo.tags.Greeter</tag-class>
    <body-content>empty</body-content>
    </tag>
    </taglib>
    here is the tag handler class Greeter.java...
    package demo.tags;
    import javax.servlet.jsp.tagext.*;
    import javax.servlet.jsp.*;
    public class Greeter extends SimpleTagSupport {
    public void doTag() throws JspException {
    PageContext pageContext = (PageContext) getJspContext();
    JspWriter out = pageContext.getOut();
    try {
    out.println("Hello World");
    } catch (Exception e) {
    // Ignore.
    and heres the code in index.jsp...
    <%@taglib prefix="t" uri="DemoTags" %>
    <t:greeter />
    Id love to know if these directory structures are fixed and where they are specified - its confusing the way so many examples show differences.
    this is the exception i get when trying to run index.jsp through the admin page (localhost:4848)
    org.apache.jasper.JasperException: /index.jsp(11,0) Unable to load tag handler class "demo.tags.Greeter" for tag "t:greeter"
    ----

    Sincere Apologies - It might be a good idea to compile my java files so i actually have classes in my classes directory !!
    i think a build.xml file is needed for ant to compile everything that is needed now.
    and the beat goes on !

  • Tag handler class was not found "org.apache.struts.taglib.tiles.InsertTag"

    Hi All,
    I have a proble deploying my app with struts 1.3.10, when I run under tomcat 6 on my eclipse, it´s fine, but when I deploy on weblogic send next exception:
    ####<Apr 2, 2013 4:24:19 PM CDT> <Info> <ServletContext-/slagentes> <DSWLC01K> <svr-slisto> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1364937859494> <BEA-000000> <layout.jsp:142:14: The tag handler class was not found "org.apache.struts.taglib.tiles.InsertTag".
    <tiles:insert attribute="content"/>
    ^----------^
    layout.jsp:142:14: The tag handler class was not found "org.apache.struts.taglib.tiles.InsertTag".
    <tiles:insert attribute="content"/>
    ^----------^
    >
    ####<Apr 2, 2013 4:24:19 PM CDT> <Error> <HTTP> <DSWLC01K> <svr-slisto> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1364937859499> <BEA-101017> <[ServletContext@159254910[app:slagentes module:/slagentes path:null spec-version:3.0], request: weblogic.servlet.internal.ServletRequestImpl@5ebf5ebf[
    POST /slagentes/login.do HTTP/1.1
    Connection: keep-alive
    Content-Length: 37
    Cache-Control: max-age=0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Origin: http://172.17.12.129:7004
    User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31
    Content-Type: application/x-www-form-urlencoded
    Referer: http://172.17.12.129:7004/slagentes/
    Accept-Encoding: gzip,deflate,sdch
    Accept-Language: es-ES,es;q=0.8
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
    ]] Root cause of ServletException.
    weblogic.servlet.jsp.CompilationException: Failed to compile JSP /jsp/template/layout.jsp
    layout.jsp:142:14: The tag handler class was not found "org.apache.struts.taglib.tiles.InsertTag".
    <tiles:insert attribute="content"/>
    ^----------^
    layout.jsp:142:14: The tag handler class was not found "org.apache.struts.taglib.tiles.InsertTag".
    <tiles:insert attribute="content"/>
    ^----------^
    at weblogic.servlet.jsp.JavelinxJSPStub.reportCompilationErrorIfNeccessary(JavelinxJSPStub.java:225)
    at weblogic.servlet.jsp.JavelinxJSPStub.compilePage(JavelinxJSPStub.java:161)
    at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:237)
    at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:190)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:281)
    at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:453)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:364)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:221)
    at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:567)
    at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:263)
    at org.apache.struts.tiles.commands.TilesPreProcessor.doForward(TilesPreProcessor.java:260)
    at org.apache.struts.tiles.commands.TilesPreProcessor.execute(TilesPreProcessor.java:217)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:338)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:221)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3284)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1513)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    >
    My weblogic.xml is
    <?xml version="1.0" encoding="UTF-8"?>
    <wls:weblogic-web-app
         xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
         <wls:container-descriptor>
              <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
         </wls:container-descriptor>     
    </wls:weblogic-web-app>     
    and my weblogic-application.xml is
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <weblogic-application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-application http://www.bea.com/ns/weblogic/weblogic-application/1.0/weblogic-application.xsd"
         xmlns="http://www.bea.com/ns/weblogic/weblogic-application">
         <application-param>
              <param-name>webapp.encoding.default</param-name>
              <param-value>UTF-8</param-value>
         </application-param>
         <prefer-application-packages>
              <package-name>antlr.*</package-name>          
              <package-name>org.apache.*</package-name>          
              <package-name>javax.xml.rpc.*</package-name>
              <package-name>javax.xml.namespace.*</package-name>
              <package-name>javax.xml.messaging.*</package-name>
              <package-name>javax.xml.soap.*</package-name>
              <package-name>javax.servlet.jsp.jstl.*</package-name>
         </prefer-application-packages>
    </weblogic-application>
    please help me

    The struts-template tld has been deprecated in favour of the tiles taglib.
    If you are using anything above struts 1.0, then you should be using tiles.
    Most probably the support files for the struts-template taglib are not in your distribution.
    Cheers,
    evnafets

  • About the  Tag handler class

    hi,
    i created a tag handler source file.
    the following exception is thrown as given below
    C:\Tomcat 5.0\webapps\jsp-examples\WEB-INF\classes\Custom>javac ExampleTag.java
    ExampleTag.java:3: package javax.servlet.jsp does not exist
    import javax.servlet.jsp.*;
    ^
    ExampleTag.java:4: package javax.servlet.jsp.tagext does not exist
    import javax.servlet.jsp.tagext.*;
    ^
    ExampleTag.java:7: cannot find symbol
    symbol: class TagSupport
    public class ExampleTag extends TagSupport
    ^
    ExampleTag.java:13: cannot find symbol
    symbol : class JspWriter
    location: class Custom.ExampleTag
    JspWriter out = pageContext.getOut();
    ^
    ExampleTag.java:13: cannot find symbol
    symbol : variable pageContext
    location: class Custom.ExampleTag
    JspWriter out = pageContext.getOut();
    ^
    ExampleTag.java:20: cannot find symbol
    symbol : variable SKIP_BODY
    location: class Custom.ExampleTag
    return(SKIP_BODY);
    ^
    ExampleTag.java:20: illegal start of type
    return(SKIP_BODY);
    ^
    7 errors
    can anyone help me with the problem????????

    hi
    i compiled my tag handler class and stored the Source and class files in the WEB-INF\classes directory.
    i created a descriptor file and saved it in WEB-INF\jsp directory.
    i placed my jsp file in the jsp-examples folder.
    then i started the server and executed the jsp file.
    that time i was encountered with the following error.
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: File "/Custom/csajsp-taglib.tld" not found
         org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:94)
         org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:404)
         org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)
         org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:202)
         org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:458)
         org.apache.jasper.compiler.Parser.parseDirective(Parser.java:523)
         org.apache.jasper.compiler.Parser.parseElements(Parser.java:1577)
         org.apache.jasper.compiler.Parser.parse(Parser.java:171)
         org.apache.jasper.compiler.ParserController.doParse(ParserController.java:258)
         org.apache.jasper.compiler.ParserController.parse(ParserController.java:139)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:237)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:456)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:553)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    note The full stack trace of the root cause is available in the Tomcat logs.
    can you help me???????????????????

  • Tool to downgrade Tag handler classes from JSF 1.2 to JSF 1.1

    Is there any tool to downgrade Tag handler classes from JSF 1.2 to JSF 1.1?
    thanks!

    I am not sure if I understand you, but what's wrong with just replacing the JAR files?

  • How to make countdowntimer in java bean to use in jsp form

    i make an aplication in jsp with XHTML MP format..i have problem to maka a countdowntimer in java bean to use in the jsp form.could anyone help me with this problem

    Use JHelp, downloadable from Sun. This is a quit big package, you have to read a lot before applying.
    http://java.sun.com/products/jfc/tsc/articles/javahelp/index.html
    enjoy
    sergio

  • Accessing JSP Variables in Custom Tag Handler.

    Hi,
    I am creating a custom tag which builds a list view. I have certain String array in my JSP and I need to pass the same into my Tag Handler class. I tried following ways :
    1. In doStartTag() implementation I used
       public int doStartTag() {
             String[] myArray = (String[])pageContext.getAttribute("mystringarray", PageContext.PAGE_SCOPE;
       }This is not recognizing the String array variable defined in my JSP.
    2. I used separate attribute which is passed from the JSP to the custom tag as parameter having "rtexprvalue" as true. But I cann't pass a Sting array into my tag handler class. I can pass only String.
    How can I access variables which are defined in the JSP using declaration block. i.e.
    <%!
    String[] myArray = new String[100];
    %>
    Thanks for the time.

    You should be able to pass any type you like as an attribute to the tag.
    You just have to define its type as String[] in your tld:
    <attribute>
    <name>stringArray</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    <type>java.lang.String[]</type>
    </attribute>
    Alternatively, If you declare your array like:
    <%!
    String[] myArray = new String[100];
    %>You can do this:
    pageContext.setAttribute("mystringarray", myArray);
    which will put it into the page context for you to pick up in your custom tag.
    Hope this helps,
    evnafets

  • Using java bean with jsp

    hello friends,
    i'm new to jsp. i want to create an html form that accepts username and a value from four radio buttons and display back the entered name and checked radio button's value using java bean.
    i use the <jsp:setProperty id="" property="*"> method. i don't know how to access the radio buttons value from the html.
    also when i use an additional field other than username the jsp page is showing error.
    Please give me the correct method to use java bean with jsp in this circumstance.
    thank you.

    thank you, but i have a problem left. the case is like this.
    i got the jsp and bean worked fine when i have a sinle input text field.
    but when i added a second text field i recieved the following error.
    javax.servlet.ServletException: basket.newbean.getUserPass()Ljava/lang/String;
         org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
         org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
         org.apache.jsp.newform.process_jsp._jspService(process_jsp.java:69)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    where userPass is the new form element. I have made the subsequent chanes in my bean program and jsp file.
    pls hlp.

  • Using java beans in jsp using tomcat

    hi i have made a form to enter user first name and last anme with html and then i have made a value javabean in which i want to store the information filled bu user. i want to display the information stored in java bean in jsp page i have made the full application and i have made class file of java bean as well as jsp file but when i try to run this web application in tomcat i am getting class not found exception.
    could anybody tell me that where i should store the bean class in tomcat and do i need to make any package in which i have to place my java bean file plz tell me complete procedure along with code if possible

    whew thats a lot of questions... All of this is pretty basic stuff. I would recommend you take a look at the web services tutorial: http://java.sun.com/j2ee/1.4/docs/tutorial/doc/
    lets see.
    Starting a package name with com is just a generic standard which is followed.
    It is most correct when creating commercial packages to create packages like com.companyName.project
    http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html
    You should not need a page import directive unless you are using classes in scriptlets: ie <% %> tags in your JSP. Your jsp:useBean tag will automatically import necessary classes - you don't need to import classes for beans specifically
    <jsp:useBean id="myClass" scope="session" class="com.myPackage" />
    Your directory structure should be something like this
    webApplicationRootDirectory
    - page1.html
    - page2.html
    - page3.jsp
    - page4.jsp
    - WEB-INF
         - web.xml
         - classes
           - com
             - myPackage
               - myClass.classerrrm. Thats about it I think.

  • Using Java Bean in JSP to show database record

    I have links in my Tomcat container that if someone clicks on a specific link it should go to a Record page (Show.jsp) with all the values associated with a record from a database.
    For example if someone clicks on a specific link like this:
    LinkExample
    it would take you to a jsp with database info for someone named Jones and show you his info:
    Lastname = Jones
    Firstname = Mike
    City = San Diego
    I would like to do this using a Java helper class and bean so I dont have any database connection or Java code in my JSP.
    I created Java class file that has Database connection that works with a Java bean. I just dont know how to get the Show.jsp to work with the Java Bean and Java helper class file.
    Here is what I have for Show.jsp and this is the part I have been working on the longest but cant get it to work because it doesnt seem to work with the database:<jsp:useBean id="user" class="num.UserDB"/>
    //do I call getUser(lastname) here and if so how?
    <jsp:setProperty name="user" property="*"/>
    Last Name: <jsp:getProperty name="user" property="lastname"/><BR>
    First Name: <jsp:getProperty name="user" property="firstname"/><BR>
    City: <jsp:getProperty name="user" property="city"/><BR>My Java Helper class that compiles and connects to database:
    package num;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import num.User;
    public class UserDB
    public User getUser(String lastname)
    User user = new User();     
            try          
         Class.forName...//database connection stuff here
        ResultSet results = stmt.executeQuery("SELECT * from user where lastname = '" + lastname + "'");
         if(results.next() == true)
         results.next();
         user.setLastname(results.getString("lastname"));
         user.setFirstname(results.getString("firstname"));
            user.setFirstname(results.getString("city"));
         catch(Exception e)          
                   System.out.println("Exception...");               
       return user;
    }My Java Bean that compiles here:
    package num;
    public class User
      private String firstname;
      private String lastname;
    private String city;
      public User()
         //no arg constructor
      public User(String firstname, String lastname, String city)
           this.lastname = lastname;
              this.firstname = firstname;
              this.city = city;
      public String getLastname()
              return lastname;
      public void setLastname(String lastname)
         this.lastname = lastname;
      //more bean methods for all fields here
     

    Sorry if I wasnt specific enough. I have a link that passes a value (field that is passed is called lastname) to a JSP where I want to show record info for that value that is passed.
    My question is how do I show the database record info on Show.jsp for the lastname field value of Jones where I want to use a Java Bean and Database helper class in Show.jsp
    Here is the message I get when I hit the link (LinkExample) and it goes to Show.jsp:
    org.apache.jasper.JasperException: Cannot find any information on property 'lastname' in a bean of type 'num.UserDB'
    .....My UserDB class:
    public class UserDB
    public User getUser(String lastname)
    User user = new User();     
            try          
         Class.forName("org.gjt.mm.mysql.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/dbconnone?user=smitherson&password=abcdefg");
        Statement stmt = conn.createStatement();
        ResultSet results = stmt.executeQuery("SELECT * from user where lastname = '" + lastname + "'");
         if(results.next() == true)
         results.next();
         user.setLastname(results.getString("lastname"));
         user.setFirstname(results.getString("firstname"));
                         user.city(results.getString("city"));
         catch(Exception e)          
             System.out.println("Exception..." + e);          
       return user;
    }Bean class:
    package num;
    public class User
      private String firstname;
      private String lastname;
      private String city;
      public User()
         //no arg constructor
      public User(String firstname, String lastname, Sting city)
          this.firstname = firstname;
           this.lastname = lastname;
    this.city = city;
      public String getFirstname()
              return firstname;
      public void setFirstname(String firstname)
         this.firstname = firstname;
      public String getLastname()
              return lastname;
      public void setLastname(String lastname)
         this.lastname = lastname;
      public String getCity()
              return city;
      public void setCity(String city)
         this.city = city;
      

  • JSP Tags, EL and toString() method

    Hi,
    I want to pass a Java object to a custom tag via EL, but am finding that since the class has a toString() method, EL automatically converts the class to a string using the toString method. Consequently, I get an error because the string cannot be cast back to the parent object in the tag handler class.
    I played around with a dummy class and found that if the toString() method wasn't defined, EL would pass the object as is without converting to a string.
    Is there some reason for this behaviour and is there some way I can get around this without having to remove the toString() method ? The object I am trying to process is from an external library, so I can't modify it.
    Thanks for any tips on this.
    Paul Samuel

    My initial guess was that you hadn't defined the type of the attribute, and it was defaulting to String as a result. Now that I've seen the tld file thats obviously not the cause.
    Next guess: EL evaluation is disabled, and it is interpreting ${model.results} as a string, rather than evaluating it.
    1 - What happens if you just put ${1 + 1} onto a JSP page. Does it print ${1 + 1} or evaluate it as 2?
    2 - What server are you using? What version? Which J2EE spec does it support?
    You can use the following JSP snippet to confirm this info:
    <h2> Server Info</h2>
    Server info = <%= application.getServerInfo() %> <br>
    Servlet engine version = <%=  application.getMajorVersion() %>.<%= application.getMinorVersion() %><br>
    Java version = <%= System.getProperty("java.vm.version") %><br>
    Session id = <%= session.getId() %><br>3 - What version is your web.xml declared as? 2.3 or 2.4?
    4- If you have a Servlet2.4/JSP2.0 container (eg Tomcat 5), try putting the following on your page and see if it works
    <%@ page isELIgnored="false" %>
    http://forum.java.sun.com/thread.jspa?threadID=629437&tstart=0
    Cheers,
    evnafets

  • Recursive calls by JSP tag files fail to compile

    We're hitting an issue with recursive calls in JSP tag files. I found one unanswered post in the General forum - [Tag Files used recursivily throws exception|https://forums.oracle.com/forums/thread.jspa?threadID=853300] - and was wondering if anyone else has hit this or knows of any work-arounds/patches or knows how to raise suspected bugs with Oracle (when you don't have an official support relationship for WebLogic)?
    Example tag file - /WEB-INF/tags/recurse/hello.tag:
    <%@ tag body-content="empty" %>
    <%@ attribute name="name" required="true" type="java.lang.String"%>
    <%@ attribute name="depth" required="true" type="java.lang.Number"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="r" uri="/WEB-INF/tags/recurse/recurse.tld" %>
    <table border="1" cellpadding="3" cellspacing="3">
    <tr>
    <td>
    Hello ${name} [${depth}]
    </td>
    <c:if test="${depth > 1}">
    <td>
    <r:hello name="${name}" depth="${depth-1}"/>
    </td>
    </c:if>
    </tr>
    </table>
    Example tld file - /WEB-INF/tags/recurse/recurse.tld:
    <?xml version="1.0" encoding="UTF-8" ?>
    <taglib xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
    version="2.1">
    <description>Library with Recursive tag</description>
    <tlib-version>1.0</tlib-version>
    <shortname>r</shortname>
    <tag-file>
    <name>hello</name>
    <path>/WEB-INF/tags/recurse/hello.tag</path>
    </tag-file>
    </taglib>
    Example jsp file - /recurse/test.jsp:
    <%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=utf-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="r" uri="/WEB-INF/tags/recurse/recurse.tld" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Recursive Tag-file Test</title>
    </head>
    <body>
    <c:set var="name" value="${pageContext.request.remoteUser}"/>
    <c:set var="depth" value="${5}"/>
    <p>Welcome ${name}, here are ${depth} greetings</p>
    <r:hello name="${name}" depth="${depth}"/>
    </body>
    </html>
    The expected result from this example would be to get nested 5 HTML tables.
    The current behaviour, is the following is shown on screen when loading the test.jsp:
    Compilation of JSP File '/recurse/test.jsp' failed:
    hello.tag:15:6: Current file's JSP version conflicts with current tag "r:hello"'s.
                        <r:hello name="${name}" depth="${depth-1}"/>
    ^-----^
    hello.tag:15:6: Current file's JSP version conflicts with current tag "r:hello"'s.
                        <r:hello name="${name}" depth="${depth-1}"/>
    ^-----^
    I believe the "JSP version conflicts with current tag" message is misleading (you also get the same error referring to the tag file's folder via a tagdir reference from the JSP and defining an 'implicit.tld' which declares version="2.1"). If you take the recursive <r:hello .../> call out of hello.tag the JSP and tag file compile and function fine. I tried the work around mentioned in the forum post mentioned above, taking the recursive call out, deploying, then putting the recursive tag call back in and just updating the tag file doesn't seem to work for me.
    Using "weblogic.appc" you get a few more messages, though the issue is the same - tag file doesn't compile:
    test.jsp:15:6: The tag handler class was not found "jsp_servlet._tags._recurse.__hello_tag".
    <r:hello name="${name}" depth="${depth}"/>
    ^-----^
    test.jsp:15:14: This attribute is not recognized.
    <r:hello name="${name}" depth="${depth}"/>
    ^--^
    test.jsp:15:29: This attribute is not recognized.
    <r:hello name="${name}" depth="${depth}"/>
    ^---^
    hello.tag:15:6: The tag handler class was not found "jsp_servlet._tags._recurse.__hello_tag".
    <r:hello name="${name}" depth="${depth-1}"/>
    ^-----^
    hello.tag:15:6: Current file's JSP version conflicts with current tag "r:hello"'s.
    <r:hello name="${name}" depth="${depth-1}"/>
    ^-----^
    Happy to send this example as an ear/war for anyone that's interested.
    At this stage, WebLogic seems to be the only servlet container with this limitation.
    This has been tested with WebLogic 10.3.3.0 and 12.1.1.0.
    The context for this is that the issue is present in a (larger) enterprise application. The above simple example with recursive tags is what we have isolated as the problem.
    Although I/we may not have a support relationship for WebLogic, our clients will, so if the solution is apply an already existing patch that solution would be acceptable.

    Somethings definitely wrong with your gcc installation.
    Which gcc are you using. What output do you get from "which gcc".
    Solaris 10 ships with a gcc in /usr/sfw/bin.
    If your using a 3rd party gcc try changing your path to put /usr/sfw/bin before whereever the 3rd party gcc lives. Or just uninstall it.

Maybe you are looking for

  • Highlighting Text

    Hello Since updating Adobe Reader XI I have been unable to highlight text in any pdf document. While other functions, such as the insert text function work, highlighting does not. I have tried to change the base colour but that does not work either.

  • Can't connect iphone 5 to ipad 3 by bluetooth for hotspot

    I have an iPad 3 4G and an iPhone 5. Both data plans allow me to use personal hotspot, and depending upon which carrier has the better signal, I used to be able to use the other devices data plan. Recently (since updating to IOS 6.0.1) I can no longe

  • Multi Level BOm is not working in SAP afs

    Hi Experts,          I am facing issue in MRP.For multi level bom's ,Requirements is not getting generates.Is there any settings is there to active multi level bom for afs materials. please suggest solution Thanks and Regards, Deepika.

  • Need some suggestion for Demantra Shape modeling

    Hi All Can any one sugesst me how to create a Demantra Shape modeling using 7.2 version. I am working on a POC which includes shape modeling. Thanks Ram

  • Does anyone know how to contact a real person in iTunes support?

    I have had not luck with the email responses I have been getting in trying to fix error 5002 in over a week.