1 2 Previous Next 17 Replies Latest reply: Aug 22, 2011 2:35 AM by Nitin Khekare RSS

Deploying Simple JSF 1.2 application in jboss 7

Nitin Khekare Newbie

Hi

 

I am deploying a simple jsf 1.2 application in jboss 7.

The application is getting deployed correctly. I can access the page but the problem I am facing is the EL strings are not getting parsed.

After page gets rendered I can see the EL string as it is in textbox (like #{bean.method}).

 

Can anyone help me in this regard?

 

attaching the war

Thanks

  • 1. Re: Deploying Simple JSF 1.2 application in jboss 7
    Stan Silvert Master

    Your first problem is that you didn't declare UserNameBean as a @ManagedBean.  You can do this with the annotation or in a faces-config.xml.  Your EL is probably wrong as well.  If you use the annotation then by default the proper EL expression will be #{userNameBean.userName}

     

    Second, you can use JSF 1.2 without adding jboss-deployment-structure.xml.  All you need to do is add this to your web.xml:

     

    <context-param>
          <param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name>
          <param-value>Mojarra-1.2</param-value>
     </context-param>

     

    Lastly, you don't need to add JSTL jars to your WAR.  These are already added by JBoss AS7.

     

    Stan

  • 2. Re: Deploying Simple JSF 1.2 application in jboss 7
    Nicklas Karlsson Master

    Is the JSF_CONFIG_NAME already available on AS7?

  • 3. Re: Deploying Simple JSF 1.2 application in jboss 7
    Stan Silvert Master

    My bad.  You did use faces-config.xml.  Stand by.

     

    Stan

  • 4. Re: Deploying Simple JSF 1.2 application in jboss 7
    Stan Silvert Master

    Nicklas Karlsson wrote:

     

    Is the JSF_CONFIG_NAME already available on AS7?

    Yes, but for now it only works for Mojarra-1.2.

     

    Stan

  • 5. Re: Deploying Simple JSF 1.2 application in jboss 7
    Stan Silvert Master

    I think this is your problem:

     

    07:55:44,998 ERROR [org.jboss.as.web.jsf] (MSC service thread 1-6) Could not load JSF managed bean class java.net.roseindia.UserNameBean

     

    Try using a different package name.  I'm pretty sure "java.net" is filtered by the classloader.

     

    Stan

  • 6. Re: Deploying Simple JSF 1.2 application in jboss 7
    Nitin Khekare Newbie

    Stan thank you for your reply

    I already tried by changing the package. I have declared the managed bean faces-config.xml.

     

    And I tried by adding the context param. It is giving error like

     

    17:57:59,218 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jsf1.2]] (MSC service thread 1-4) Error configuring application listener of class com.sun.faces.application.WebappLifecycleListener: java.lang.ClassCastException: com.sun.faces.application.WebappLifecycleListener

    cannot be cast to java.util.EventListener

            at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3318) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.catalina.core.StandardContext.start(StandardContext.java:3821) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.0.Final.jar:7.0.0.Final]

            at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)

            at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)

            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_13]

            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_13]

            at java.lang.Thread.run(Thread.java:619) [:1.6.0_13]

  • 7. Re: Deploying Simple JSF 1.2 application in jboss 7
    Stan Silvert Master

    I found your problem.  JSF 1.2 requires Servlet 2.5 and JSP 2.1.  In web.xml you declared your webapp as Servlet 2.3.  That causes the JSP processor to treat JSP tags as if they are JSP 1.2.

     

    So you need to declare your web.xml to be at least Servlet 2.5.  I've attached a working Maven project based on your code.

     

    Stan

  • 8. Re: Deploying Simple JSF 1.2 application in jboss 7
    Nitin Khekare Newbie

    Stan Thank you for your reply, now my application is running fine.

     

    But I am facing another problem, I converted the application as facelets application.

     

    The error now I am getting is,

     

    10:42:34,980 SEVERE [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http--127.0.0.1-8080-1) JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /inputname.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@13cca0e]

    10:42:34,980 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jsf1.2].[Faces Servlet]] (http--127.0.0.1-8080-1) Servlet.service() for servlet Faces Servlet threw exception: javax.el.ELException: /inputname.xhtml: The class 'roseindia.UserNameBean' does not have the property

    'welcome'.

            at com.sun.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:53) [jsf-facelets.jar:]

            at com.sun.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:39) [jsf-facelets.jar:]

            at com.sun.facelets.compiler.UILeaf.encodeAll(UILeaf.java:149) [jsf-facelets.jar:]

            at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933) [jsf-api-1.2_13.jar:1.2_13-b01-FCS]

            at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:577) [jsf-facelets.jar:]

            at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110) [jsf-impl-1.2_13.jar:1.2_13-b01-FCS]

            at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) [jsf-impl-1.2_13.jar:1.2_13-b01-FCS]

            at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-1.2_13.jar:1.2_13-b01-FCS]

            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) [jsf-api-1.2_13.jar:1.2_13-b01-FCS]

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.0.Final.jar:7.0.0.Final]

            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]

            at java.lang.Thread.run(Thread.java:619) [:1.6.0_13]

     

    Attaching the changed war file

  • 9. Re: Deploying Simple JSF 1.2 application in jboss 7
    Nicklas Karlsson Master

    Probably because your bean doesn't have the JavaBean-conventional getWelcome()/setWelcome() method (no longer an AS problem)

  • 10. Re: Deploying Simple JSF 1.2 application in jboss 7
    Nitin Khekare Newbie

       public String welcome(){

           return "welcome";

       }

     

    welcome is not a property it is an action.

  • 11. Re: Deploying Simple JSF 1.2 application in jboss 7
    Nicklas Karlsson Master

    it's an actionListener in the view

  • 12. Re: Deploying Simple JSF 1.2 application in jboss 7
    Nitin Khekare Newbie

    I think I have attached wrong war file.

    But I have tested it after changes, but still gives the same errror.

  • 13. Re: Deploying Simple JSF 1.2 application in jboss 7
    Stan Silvert Master

    Nitin Khekare wrote:

     

    I think I have attached wrong war file.

    But I have tested it after changes, but still gives the same errror.

    Yes, the WAR you attached is still using JSP.

     

    It looks like you are trying to call an action in a place where the tag attribute is expecting a bean property.

     

    Stan

  • 14. Re: Deploying Simple JSF 1.2 application in jboss 7
    Nitin Khekare Newbie

    Attaching the updated war file.

1 2 Previous Next