JSF URL

The URL with which a JSF JSP gets called in JDeveloper 10.1.3 Preview has a bug.
A JSF JSP page gets called with the URL
http://<host>:<port>/<context-root>/faces/jsfFile.jspeventhough the JSF JSP(jsfFile.jsp) is not in the faces directory.

1. Create a JSF JSP page (jsfFile.jsp) with File>New>Web Tier>JSF>JSF
2. The JSF JSP page gets added to the Web Content directory.
3. The url-pattern setting for the JSF JSP page in web.xml is:A JSF JSP page gets called with the URL
<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>4. Run the JSF JSP page.
5. The URL called for the JSF page is
http://<host>:<port>/<context-root>/faces/jsfFile.jsp
The jsfFile.jsp URL is
http://<port>:<port>/<context-root>/jsfFile.jsp

Similar Messages

  • JSF url-pattern *.jsf problem

    Hi all,
    I am working in a project to add the jsf page in the existing jsp application. It uses Apache Tomcat 6.0.18 as the server and eclipse for coding.
    I created a jsf page named index.jsp and I added the code in web.xml as follows
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    </servlet-mapping>
    and when I use the url
    http:localhost:8080/myproject/index.jsf
    Page did not open in the browser and browser reports page not found.
    If I change url-pattern to
    <url-pattern>/faces/* </url-pattern>
    and
    when I use the url
    http:localhost:8080/myproject/faces/index.jsp
    It works.
    What should I want to do to make
    http:localhost:8080/myproject/index.jsf to render in the browser?
    Edited by: mvg90 on Jul 24, 2009 4:22 AM

    BalusC wrote:
    I have no idea. Reinstalling the stuff is definately cumbersome. This is likely just a matter of configuration and/or the way of usage. Hard to say based on the as far given little information (read this how to ask questions the smart way and read this how to provide good code examples representing your actual problem).
    If you want you can of course redo the setup of the environment and the code based on some reliable tutorial / book.I am sorry if my information is not sufficient. What information can I give to solve the problem?

  • ADF JSF URL problems...

    Hi All,
    I have the following requirement. Please could someone help me out?
    1) I have a dot net application into which I can log in with either the Canadian or US context. This is kind of multi-orging.
    2) Once logged in, the user needs to right click on a value in a panel inside this Windows dot net application and click a menu option.
    3) Once the option is clicked, a new JSF page will open. The URL for this JSF page will have the parameters such as the user country code plus the document number of the panel value.
    4) For this JSF page I am planning on an ADF JSF application. The application module for this application will have two database connections, basically two different schemas which are triggered based on the context information. These are already available in the bc4j.xcfg file.
    5) Based on the country parameter passed in the URL, I need to alternate the database connection information on the root application module created by the application between teh two database schemas using the bc4j.xcfg file in the Model project of the application. This needs to be done dynamically through the code.
    In order to fulfill the above requirement, I need to do the following:-
    1) As soon as the URL is triggered, the ADF application needs to read the URL parameters and set the context specific database schema of the application module without pressing a button or any other manual user trigger in hte JSF page. Basically I am looking at loading the JSF page dynamically after having set the database schema on the application module that was instantiated using the URL parameters
    2) After step 1, since the database schema is now set on the context I will be able to use the database schema to load data from the database objects.
    3) Each schema has a database trigger which runs when the database connection is initiated. This is used to set the multi-org context.
    Please could someone help me out with step 1 above on how to read URL parameters without any user triggers on the JSF page and setting the database schema on the application module being used by the application. Please remember that I am not using JDBC data sources but JDBC URL's to create m application.
    Any code samples to load the current application module instance and setting the database connection on the same from bc4j.xcfg would be very very helpful.
    Thanks a lot.
    Regards,
    Lester.

    Hi safir,
    thanks for your answer.
    With JSF also "normal" Links should be handled like Form-submit links
    ("Command buttons")
    (see in JSF manual "Using java server faces tech.", page 82 Handling Events: Application Events: #
    <i>Because app. events apply to the entire application, this kind of event is currently used for
    navigation between pages of the app.</i>)
    So it is a general Problem, you cannot copy the links from the browser.
    I understand, that is is not a bug,
    but is there maybe a solution for my problem?
    I want to use JSF, because of the good form validation
    operations.

  • JSF URL redirection

    I want the user to type in the browser
    http://my.website.com
    which would be forwarded to this.
    http://my.website.com/CTOpsProd/faces/frames.jsp
    It would be great if someone could tell me a simple way to do this using JSF or websphere setup
    thanks

    Just add JavaScript code like location = 'CTOpsProd/faces/frames.jsp'; to Your index.jsp
    or use <jsp:redirect> tag.
    I want the user to type in the browser
    ttp://my.website.com
    hich would be forwarded to this.
    http://my.website.com/CTOpsProd/faces/frames.jsp
    t would be great if someone could tell me a simple
    way to do this using JSF or websphere setup
    thanks

  • JSF - Why getting wrong path Handling URLs in Facelets Templates

    Hi, I am trying to do a web application using JSF, Facelets in Netbeans 6.7. but I am having a problem:
    Why I am getting wrong path ?
    It is very simple, straight forward web application.
    When run, it shows the template-client.xhtml perfectly . The navigation menu is shows ok, but they don't work. However, if I enter in the browser address http://localhost:8080/test3/portal/products.jsf it goes perfect to the right page and the navigation between About, Products and Home works perfect. But once I click on Home, the menu start to give me errors. Looks like the path is wrong again.
    folders structure:
    test3My code:
    faces-config.xml:
    <?xml version='1.0' encoding='UTF-8'?>
    <!-- =========== FULL CONFIGURATION FILE ================================== -->
    <faces-config version="1.2"
        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-facesconfig_1_2.xsd">
        <application>
            <view-handler>
                com.sun.facelets.FaceletViewHandler
            </view-handler>   
        </application>
    </faces-config>web.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 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">
        <context-param>
            <param-name>com.sun.faces.verifyObjects</param-name>
            <param-value>true</param-value>
        </context-param>
        <context-param>
            <param-name>com.sun.faces.validateXml</param-name>
            <param-value>true</param-value>
        </context-param>
        <context-param>
            <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
            <param-value>.xhtml</param-value>
        </context-param>
        <context-param>
            <param-name>facelets.DEVELOPMENT</param-name>
            <param-value>false</param-value>
        </context-param>
        <context-param>
            <param-name>facelets.SKIP_COMMENTS</param-name>
            <param-value>true</param-value>
        </context-param>
        <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>*.jsf</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>forward.jsp</welcome-file>
            </welcome-file-list>
        </web-app>forward.jsp:
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <jsp:forward page="template-client.jsf"/>template-client.xhtml:
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:h="http://java.sun.com/jsf/html">
        <body>
            This text above will not be displayed.
            <ui:composition template="/template.xhtml">
                This text will not be displayed.
                <ui:define name="title">
                    Facelets
                </ui:define>
                This text will also not be displayed.
                <ui:define name="body">
                    Hello from the Facelets client template!
                </ui:define>
                This text will not be displayed.
            </ui:composition>
            This text below will also not be displayed.
        </body>
    </html>template.xhtml:
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:ice="http://www.icesoft.com/icefaces/component">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <title>Facelets - Template Example</title>
            <link href="#{facesContext.externalContext.requestContextPath}/css/default.css" rel="stylesheet" type="text/css" />
        </head>
        <body>
            <div id="menu">
                <ui:insert name="linemenu">
                    <ul>
                        <li><a href="../forward.jsp">Home</a></li>
                        <li><a href="about.jsf">About Us</a></li>
                        <li><a href="products.jsf">Products</a></li>
                    </ul>
                </ui:insert>
            </div>
            <div>
            <h1>
                <ui:insert name="title">Default Title</ui:insert>
            </h1>
            <p>
                <ui:insert name="body">Default Body</ui:insert>
            </p>
            </div>
        </body>
    </html>about.xhtml:
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets">
        <body>
            <ui:composition template="./../template.xhtml">
                <ui:define name="title">
                    title ABOUT
                </ui:define>
                <ui:define name="body">
                    body ABOUT
                </ui:define>
            </ui:composition>
        </body>
    </html>products.xhtml:
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets">
        <body>
            <ui:composition template="./../template.xhtml">
                <ui:define name="title">
                    title PRODUCTS
                </ui:define>
                <ui:define name="body">
                    body PRODUCTS
                </ui:define>
            </ui:composition>
        </body>
    </html>

    My folders:
    Test3
         Web Pages
              /WEB-INF
              /css
                  -default.css
              /layouts
              /portal
                  -about.xhtml
                  -products.xhtml
              -forward.jsp
              -template.xhtml
              -template-client.xhtmlPlease, I need help with this. It may is very easy to find out, I maybe skiping something
    Thank for your help anyone!!!

  • Application not working with JSF 1.2

    I am new to JSF. I am trying to create a sample application with JSF 1.2. I am using weblogic 10.0. I have followed the instructions give in the whitepaper to configure JSF 1.2.
    http://download.oracle.com/technology/products/weblogic/portal/weblogic-portal-jsf-whitepaper.pdf
    Deployment descriptor contains following content.
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>AlfaInsPortalWebApp</display-name>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
    <!--<description>
                   State saving method: "client" or "server" (= default)
                   See JSF Specification 2.5.2
              </description>-->
    </context-param>
    <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
    <servlet>
    <servlet-name>faces</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>faces</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>faces</servlet-name>
    <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>index.jsf</welcome-file>
    <welcome-file>index.faces</welcome-file>
    <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>
         <session-config>
         <session-timeout>30</session-timeout>
         </session-config>
    </web-app>
    Weblogic.xml contains reference to following libraries
    <?xml version="1.0" encoding="UTF-8"?>
    <wls:weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
         <wls:container-descriptor>
              <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
         </wls:container-descriptor>
    <wls:context-root>AlfaInsPortalWebApp</wls:context-root>
    <wls:library-ref>
    <wls:library-name>jstl</wls:library-name>
    <wls:specification-version>1.2</wls:specification-version>
    <wls:exact-match>true</wls:exact-match>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-tools-visitor-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-tools-framework-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-commonui-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-framework-full-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-clipper-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-lookandfeel-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-rest-full-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-framework-rest-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-rest-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-light-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-wsrp-producer-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-framework-common-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-framework-struts-1.2-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>struts-1.2</wls:library-name>
    <wls:specification-version>1.2</wls:specification-version>
    <wls:exact-match>true</wls:exact-match>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>wlp-services-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>content-management-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>beehive-netui-1.0.1-10.0</wls:library-name>
    <wls:specification-version>1.0</wls:specification-version>
    <wls:exact-match>true</wls:exact-match>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>beehive-netui-resources-1.0.1-10.0</wls:library-name>
    <wls:specification-version>1.0</wls:specification-version>
    <wls:exact-match>true</wls:exact-match>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>p13n-web-lib</wls:library-name>
    <wls:specification-version>10.2.0</wls:specification-version>
    <wls:implementation-version>10.2.0</wls:implementation-version>
    </wls:library-ref>
    <wls:library-ref>
    <wls:library-name>jsf</wls:library-name>
    <wls:specification-version>1.2</wls:specification-version>
    <wls:implementation-version>1.2.3.1</wls:implementation-version>
    </wls:library-ref>
    </wls:weblogic-web-app>
    When i start the application server following logs were obtained
    Apr 9, 2010 7:09:32 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initializing Sun's JavaServer Faces implementation (1.2_03-b04-FCS) for context '/SampleJSF'
    Apr 9, 2010 7:09:33 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Completed initializing Sun's JavaServer Faces implementation (1.2_03-b04-FCS) for context '/SampleJSF'
    Apr 9, 2010 7:09:33 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initializing Sun's JavaServer Faces implementation (1.2_03-b04-FCS) for context '/SampleJSF'
    Apr 9, 2010 7:09:33 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Completed initializing Sun's JavaServer Faces implementation (1.2_03-b04-FCS) for context '/SampleJSF'
    When i invoke the application I get the following error.
    java.lang.NoSuchMethodError: initView
         at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:92)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3393)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    Please help me in configuring JSF 1.2.

    If you are new to JSF, then I'd try and simplify the environment in which you are working as the first step to achieving a successful outcome.
    JSF 1.2 is a certified and well tested component of WLS, so we know it works. I'm not sure of the effect of all those additional modules you are adding in there -- it appears as if you have gotten a Faces implementation instantiated, but there could be some form of version difference/conflict since it can't find a method its looking for.
    Using Oracle Enterprise Pack for Eclipse (http://www.oracle.com/technology/software/products/oepe/oepe_11115.html) you can build yourself out a pretty simple JSF application to get started from and deploy it to a WLS server. This would remove all the additional libraries you currently have, provide you with a bundled applicaton to deploy and give you a pretty good environment from which you can learn and experiment with JSF.
    -steve-

  • Problem w.r.t. JSF 2.0 with faces-config.xml

    Hi All,
    I am trying to evaluate the features of JSF2.0.
    For that, I have created a very simple application with "JSF 2.0.2".
    There is a page that displays a composite component and some other form related components (inputtext, commandbutton).
    When I deploy my application without any faces-config.xml file, everything renders perfectly fine.
    When I deploy the app with faces-config.xml (even an empty one without any configuration), none of the components get rendered.
    Only the html elements get displayed.
    I need to define some navigation-rules in my config file. I am not sure how to go further from here.
    The app server I am using for deploying my app is GlassFish(v3).
    Any help or pointers towards solving my problem are highly appreciated.
    You can find the xhtml file, etc of my project below.
    Thank you,
    With best regards,
    Praveen
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <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">
         <context-param>
              <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
              <param-value>.xhtml</param-value>
         </context-param>
         <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>*.jsf</url-pattern>
         </servlet-mapping>
    </web-app>
    faces-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config xmlns="http://java.sun.com/JSF/Configuration">
    </faces-config>
    resources->acicomp->namesection.xhtml
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:composite="http://java.sun.com/jsf/composite">
    <composite:interface>
    </composite:interface>
    <composite:implementation>
         <h:panelGroup>
         <h:panelGrid columns="2">
              <h:outputText value="Name: "/>
              <h:inputText value="myName"/>
              <h:outputText value="Company: "/>
              <h:inputText value="myComp"/>
         </h:panelGrid>
         </h:panelGroup>
    </composite:implementation>
    </html>
    index.xhtml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:aci="http://java.sun.com/jsf/composite/acicomp">
    <h:head>
         <title>JSF Test Program</title>
    </h:head>
    <h:body>
         <p>My Simple Test Program</p>
            <h:form id="testForm" >
                <p>TEST</p>
                <aci:namesection></aci:namesection>
                <h:inputText id="username" value="John" />
                <h:commandButton id="submit" action="response" value="Submit"/>
            </h:form>
    </h:body>
    </html>

    I found the problem.
    The dtd location of the faces-config.xml had to be changed. It was pointing to the schema of 1.1.
    With the following faces-config.xml, my application worked perfectly fine.
    <?xml version="1.0"?>
    <faces-config 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-facesconfig_2_0.xsd"
                  version="2.0">             
    </faces-config>

  • Using IFRAME in JSF to display a PDF file

    2 all,
    How do i display a PDF file inside a JSF page in a IFRAME tag?
    I store the PDF file location (like d:\images\pdf1.pdf) in my database. I cant give this location directly into the src attribute cos then the file will be rendered to only users who have access to that folder (the application is a internet application). IFRAME would be ideal as the display is very very neat (esp for pdf files).
    To get this working i tried the examples given in balusc blogs (on image servlet) but the problem is that my servlet is not getting called. Find below the web.xml and imageDisplay.jsp pages that i tried
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>WorkFlowTool</display-name>
    <context-param>
      <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
      <param-value>server</param-value>
    </context-param>
    <filter>
      <filter-name>MyFacesExtensionsFilter</filter-name>
      <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
      <init-param>
       <param-name>maxFileSize</param-name>
       <param-value>20m</param-value>
      </init-param>
    </filter>
    <filter>
      <display-name>SecurityCheckFilter</display-name>
      <filter-name>SecurityCheckFilter</filter-name>
      <filter-class>filters.SecurityCheckFilter</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>MyFacesExtensionsFilter</filter-name>
      <url-pattern>/faces/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
      <filter-name>MyFacesExtensionsFilter</filter-name>
      <url-pattern>*.faces</url-pattern>
    </filter-mapping>
    <filter-mapping>
      <filter-name>MyFacesExtensionsFilter</filter-name>
      <url-pattern>*.jsf</url-pattern>
    </filter-mapping>
    <filter-mapping>
      <filter-name>SecurityCheckFilter</filter-name>
      <url-pattern>/faces/*</url-pattern>
    </filter-mapping>
    <listener>
      <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
    <servlet>
      <servlet-name>Faces Servlet</servlet-name>
      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
      <servlet-name>Image Servlet</servlet-name>
      <servlet-class>servlets.ImageServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
      <servlet-name>Image Servlet</servlet-name>
      <url-pattern>/imageServlet/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <session-config>
      <session-timeout>60</session-timeout>
    </session-config>
    <welcome-file-list>
      <welcome-file>/jsp/index.jsp</welcome-file>
    </welcome-file-list>
    <error-page>
      <error-code>500</error-code>
      <location>/jsp/error.jsp</location>
    </error-page>
    <resource-ref>
      <res-ref-name>jdbc/JDDS</res-ref-name>
      <res-type>java.lang.Object</res-type>
      <res-auth>Container</res-auth>
      <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    </web-app>
    imageDisplay.jsp
    <HTML>
    <HEAD>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
    <f:loadBundle basename="messages" var="msg" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <LINK rel="stylesheet" type="text/css" href="../theme/Styles.css"
         title="Style">
    </HEAD>
    <body topmargin="0" leftmargin="0">
    <f:view>
         <h:form id="CaseLookUp">
              <h:dataTable value="#{pc_ImageDisplay.dataModel}" var="var">
                   <h:column id="one">
                        <f:facet name="header">
                             <h:outputText value="H1" id="HOne"/>
                        </f:facet>
                        <h:outputText value="#{var.caseID}" id="IDONE"/>
                   </h:column>
                   <h:column id="two">
                        <f:facet name="header">
                             <h:outputText value="H2" id="HTwo"/>
                        </f:facet>
                        <h:graphicImage value="imageServlet?file=#{var.PODocPath}" id="image"/>
                   </h:column>
              </h:dataTable>
         </h:form>
    </f:view>
    </body>
    </HTML>The image servlet is what i got from balusc's site (http://balusc.blogspot.com/2007/04/imageservlet.html).
    I dont know why my servlet is not getting called. Can someone help me with this pls?
    okay let me post the modified code for my image servlet here
    public class ImageServlet extends HttpServlet {
         private static final long serialVersionUID = 1L;
         public void doGet(HttpServletRequest request, HttpServletResponse response) {
            // Define base path somehow. You can define it as init-param of the servlet.
    //        String imageFilePath = "/images";
            // In a Windows environment with the Applicationserver running on the
            // c: volume, the above path is exactly the same as "c:\images".
            // In UNIX, it is just straightforward "/images".
            // If you have stored images in the WebContent of a WAR, for example in the
            // "/WEB-INF/images" folder, then you can retrieve the absolute path by:
            // String imageFilePath = getServletContext().getRealPath("/WEB-INF/images");
            // Get file name from request.
            String imageFileName = request.getParameter("file");
            System.out.println("Inside the image servlet ---->>>> " + imageFileName);
            // Check if file name is supplied to the request.
    //        if (imageFileName != null) {
    //            // Strip "../" and "..\" (avoid directory sniffing by hackers!).
    //            imageFileName = imageFileName.replaceAll("\\.+(\\\\|/)", "");
    //        } else {
    //            // Do your thing if the file name is not supplied to the request.
    //            // Throw an exception, or show default/warning image, or just ignore it.
    //            return;
            // Prepare file object.
            File imageFile = new File(imageFileName);
            // Check if file actually exists in filesystem.
            if (!imageFile.exists()) {
                // Do your thing if the file appears to be non-existing.
                // Throw an exception, or show default/warning image, or just ignore it.
                return;
            // Get content type by filename.
            String contentType = URLConnection.guessContentTypeFromName(imageFileName);
            // Check if file is actually an image (avoid download of other files by hackers!).
            // For all content types, see: http://www.w3schools.com/media/media_mimeref.asp
            if (contentType == null || !contentType.startsWith("image")) {
                // Do your thing if the file appears not being a real image.
                // Throw an exception, or show default/warning image, or just ignore it.
                return;
            // Prepare streams.
            BufferedInputStream input = null;
            BufferedOutputStream output = null;
            try {
                // Open image file.
                input = new BufferedInputStream(new FileInputStream(imageFile));
                int contentLength = input.available();
                // Init servlet response.
                response.reset();
                response.setContentLength(contentLength);
                response.setContentType(contentType);
                response.setHeader(
                    "Content-disposition", "inline; filename=\"" + imageFileName + "\"");
                output = new BufferedOutputStream(response.getOutputStream());
                // Write file contents to response.
                while (contentLength-- > 0) {
                    output.write(input.read());
                // Finalize task.
                output.flush();
            } catch (IOException e) {
                // Something went wrong?
                e.printStackTrace();
            } finally {
                // Gently close streams.
                if (input != null) {
                    try {
                        input.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                        // This is a serious error. Do more than just printing a trace.
                if (output != null) {
                    try {
                        output.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                        // This is a serious error. Do more than just printing a trace.
        }

    Thanks Balusc!!
    I have made use of your code to display PDF files in an IFRAME tag too!!! I just dint believe that this would be possible. Please just take a look at my JSP page.
    <h:form id="CaseLookUp">
         <%
         String path = request.getContextPath()+"";
         out.print(path);
         %>
    <iframe scrolling="auto" src="<%=path%>/imageServlet?file=D:\70-229 V5.pdf" width="80%" height="600" ></iframe>
         </h:form>

  • Problem in Tiles2 intrigation with jsf when we keep jsp in folder location

    I have download “myfaces-example-tiles-1.1.10” from official apache web site. As it is code and I hvae create new one application it is working fine with java 1.5 and tomcat 6 in my eclipse.
    This example keep jsp file page1.jsp in root folder when we move this file in any other folder it geives error.
    When I put the home.jsp file in any folder it is given the error below are details what I have done and what I want and wht is the error.
    Error message which I got:
    An Error Occurred:
    javax.faces.FacesException
    Caused by:
    java.io.IOException - Error including path '/template/template.jsp'. java.lang.NullPointerException: context
    +- Stack Trace
    javax.faces.FacesException
    at org.apache.myfaces.tomahawk.application.jsp.JspTilesTwoViewHandlerImpl.renderTilesView(JspTilesTwoViewHandlerImpl.java:126)
    at org.apache.myfaces.tomahawk.application.jsp.JspTilesTwoViewHandlerImpl.renderView(JspTilesTwoViewHandlerImpl.java:110)
    at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:146)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:147)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:426)
    at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:255)
    at org.apache.myfaces.tomahawk.application.jsp.JspTilesTwoViewHandlerImpl.renderView(JspTilesTwoViewHandlerImpl.java:92)
    at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:146)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:147)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:349)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)
    Caused by: org.apache.tiles.TilesException: Error including path '/template/template.jsp'. java.lang.NullPointerException: context
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:427)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:370)
    at org.apache.myfaces.tomahawk.application.jsp.JspTilesTwoViewHandlerImpl.renderTilesView(JspTilesTwoViewHandlerImpl.java:124)
    ... 31 more
    Caused by: java.io.IOException: Error including path '/template/template.jsp'. java.lang.NullPointerException: context
    at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:201)
    at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:185)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:419)
    ... 33 more
    This is the project struture:::----
    /MCMS/WebContent
    /MCMS/WebContent/common
    /MCMS/WebContent/common/footer.jsp
    /MCMS/WebContent/common/header.jsp
    /MCMS/WebContent/common/menu.jsp
    /MCMS/WebContent/css
    /MCMS/WebContent/css/tiles.css
    /MCMS/WebContent/images
    /MCMS/WebContent/images/logo.jpg
    /MCMS/WebContent/jsp
    /MCMS/WebContent/jsp/home.jsp
    /MCMS/WebContent/META-INF
    /MCMS/WebContent/template
    /MCMS/WebContent/template/template.jsp
    /MCMS/WebContent/WEB-INF
    /MCMS/WebContent/WEB-INF/lib
    /MCMS/WebContent/WEB-INF/tlds
    /MCMS/WebContent/WEB-INF/faces-config.xml
    /MCMS/WebContent/WEB-INF/struts-tiles.tld
    /MCMS/WebContent/WEB-INF/tiles.xml
    /MCMS/WebContent/WEB-INF/tiles-config_1_1.dtd
    /MCMS/WebContent/WEB-INF/web.xml
    /MCMS/WebContent/index.jsp
    This is the jar file which I am using in my proect:
    batik-awt-util-1.6-1.jar
    batik-ext-1.6-1.jar
    batik-gui-util-1.6-1.jar
    batik-util-1.6-1.jar
    commons-beanutils-1.7.0.jar
    commons-codec-1.3.jar
    commons-collections-3.2.1.jar
    commons-digester-1.8.jar
    commons-el-1.0.jar
    commons-fileupload-1.2.1.jar
    commons-io-1.3.2.jar
    commons-lang-2.4.jar
    commons-logging-1.1.1.jar
    commons-logging-api-1.1.jar
    commons-validator-1.3.1.jar
    jstl-1.2.jar
    myfaces-api-1.1.8.jar
    myfaces-impl-1.1.8.jar
    oro-2.0.8.jar
    standard-1.1.2.jar
    tiles-api-2.0.5.jar
    tiles-core-2.0.5.jar
    tiles-jsp-2.0.5.jar
    tomahawk-1.1.10.jar
    xmlParserAPIs-2.0.2.jar
    Web.xml:------
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
    <display-name>MCMS</display-name>
    <!-- Tiles ViewHandler config file -->      
    <context-param>      
    <description>Tiles configuration      
    definition files and a listener need to be defined.      
    the listener will initialize JspTilesViewHandlerImpl with tiles definitions.      
    </description>
    <param-name>tiles-definitions</param-name>      
    <param-value>/WEB-INF/tiles.xml</param-value>      
    </context-param>
    <filter>
    <filter-name>extensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    <init-param>
    <description>Set the size limit for uploaded files.
    Format: 10 - 10 bytes
    10k - 10 KB
    10m - 10 MB
    1g - 1 GB</description>
    <param-name>uploadMaxFileSize</param-name>
    <param-value>100m</param-value>
    </init-param>
    <init-param>
    <description>Set the threshold size - files
    below this limit are stored in memory, files above
    this limit are stored on disk.
    Format: 10 - 10 bytes
    10k - 10 KB
    10m - 10 MB
    1g - 1 GB</description>
    <param-name>uploadThresholdSize</param-name>
    <param-value>100k</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>*.jsf</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>/faces/*</url-pattern>
    </filter-mapping>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>SourceCodeServlet</servlet-name>
    <servlet-class>org.apache.myfaces.shared_tomahawk.util.servlet.SourceCodeServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/jsp/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>SourceCodeServlet</servlet-name>
    <url-pattern>*.source</url-pattern>
    </servlet-mapping>
    </web-app>
    faces-config.xml:---
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
    <application>
    <view-handler>org.apache.myfaces.tomahawk.application.jsp.JspTilesTwoViewHandlerImpl</view-handler>
    </application>
         <navigation-rule>
    <from-view-id>*</from-view-id>
    <navigation-case>
    <from-outcome>nav_page1</from-outcome>
    <to-view-id>/jsp/home.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    </faces-config>
    tiles.xml:---
    <!DOCTYPE tiles-definitions
    <!ENTITY % Boolean "(true|false)">
    <!ENTITY % ContentType "(string|template|definition|object)">
    <!ENTITY % ClassName "CDATA">
    <!ENTITY % RequestPath "CDATA">
    <!ENTITY % DefinitionName "CDATA">
    <!ENTITY % BeanName "CDATA">
    <!ENTITY % PropName "CDATA">
    <!ENTITY % Location "#PCDATA">
    <!ELEMENT tiles-definitions (definition+)>
    <!ELEMENT definition (icon?, display-name?, description?, put-attribute*, put-list-attribute*)>
    <!ATTLIST definition id ID #IMPLIED>
    <!ATTLIST definition preparer CDATA #IMPLIED>
    <!ATTLIST definition extends CDATA #IMPLIED>
    <!ATTLIST definition name CDATA #REQUIRED>
    <!ATTLIST definition role CDATA #IMPLIED>
    <!ATTLIST definition template CDATA #IMPLIED>
    <!ELEMENT put-attribute (#PCDATA)>
    <!ATTLIST put-attribute id ID #IMPLIED>
    <!ATTLIST put-attribute name CDATA #REQUIRED>
    <!ATTLIST put-attribute type (string|template|definition|object) #IMPLIED>
    <!ATTLIST put-attribute value CDATA #IMPLIED>
    <!ATTLIST put-attribute role CDATA #IMPLIED>
    <!ELEMENT put-list-attribute ( (add-attribute* | item* | bean* | add-list-attribute*)+) >
    <!ATTLIST put-list-attribute id ID #IMPLIED>
    <!ATTLIST put-list-attribute name CDATA #REQUIRED>
    <!ATTLIST put-list-attribute role CDATA #IMPLIED>
    <!ELEMENT add-attribute (#PCDATA)>
    <!ATTLIST add-attribute id ID #IMPLIED>
    <!ATTLIST add-attribute type (string|template|definition|object) #IMPLIED>
    <!ATTLIST add-attribute value CDATA #IMPLIED>
    <!ATTLIST add-attribute role CDATA #IMPLIED>
    <!ELEMENT add-list-attribute ( (add-attribute* | item* | bean* | add-list-attribute*)+) >
    <!ATTLIST add-list-attribute id ID #IMPLIED>
    <!ATTLIST add-list-attribute role CDATA #IMPLIED>
    <!ELEMENT bean (set-property*)>
    <!ATTLIST bean id ID #IMPLIED>
    <!ATTLIST bean classtype CDATA #REQUIRED>
    <!ELEMENT set-property EMPTY>
    <!ATTLIST set-property id ID #IMPLIED>
    <!ATTLIST set-property property CDATA #REQUIRED>
    <!ATTLIST set-property value CDATA #REQUIRED>
    <!ELEMENT item (#PCDATA)>
    <!ATTLIST item id ID #IMPLIED>
    <!ATTLIST item classtype CDATA #IMPLIED>
    <!ATTLIST item icon CDATA #IMPLIED>
    <!ATTLIST item link CDATA #REQUIRED>
    <!ATTLIST item tooltip CDATA #IMPLIED>
    <!ATTLIST item value CDATA #REQUIRED>
    <!ELEMENT description (#PCDATA)>
    <!ATTLIST description id ID #IMPLIED>
    <!ELEMENT display-name (#PCDATA)>
    <!ATTLIST display-name id ID #IMPLIED>
    <!ELEMENT icon (small-icon?, large-icon?)>
    <!ATTLIST icon id ID #IMPLIED>
    <!ELEMENT large-icon (#PCDATA)>
    <!ATTLIST large-icon id ID #IMPLIED>
    <!ELEMENT small-icon (#PCDATA)>
    <!ATTLIST small-icon id ID #IMPLIED>
    ]>
    <tiles-definitions>
    <definition name="layout.example" template="/template/template.jsp" >
    <put-attribute name="header" value="/common/header.jsp" />
    <put-attribute name="menu" value="/common/menu.jsp" />
    </definition>
    <definition name="/home.tiles" extends="layout.example" >
    <put-attribute name="body" value="/jsp/home.jsp" />
    </definition>
    </tiles-definitions>
    template.jsp:--
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
    <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
    <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <head>
    <meta http-equiv="Content-Type" content="text/html;CHARSET=iso-8859-1" />
    <title>Myfaces - Tiles</title>
    <link rel="stylesheet" type="text/css" href="css/tiles.css" />
    </head>
    <f:view>
    <body>
    <div id="lftBar">
    <f:subview id="menu">
    <tiles:insertAttribute name="menu" flush="false" />
    </f:subview>
    </div>
    <div id="level0">
    <div id="level1">
    <div id="topBar">
    <f:subview id="header">
    <tiles:insertAttribute name="header" flush="false"/>
    </f:subview>
    </div>
    <div id="level2">
    <f:subview id="content">
    <tiles:insertAttribute name="body" flush="false"/>
    </f:subview>
    </div>
    </div>
    </div>
    </body>
    </f:view>
    header.jsp:---
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"
    %><h:graphicImage id="logo" url="/images/logo.jpg" />
    menu.jsp:--
    <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <h:form>
    <h:panelGrid columns="1" >
    <h:commandLink action="nav_page1">
    <h:outputText value="Page1" />
    </h:commandLink>
    </h:panelGrid>
    </h:form>
    ----------------------------------------

    Despite the fact that in preferences it says the folder is located in "C:\itunes
    Setting iTunes prefs -> Advanced simply sets the locaion of the iTunes Music/Media folder. It does not set the location of the iTunes folder, which the default location is \My Music\iTunes\. This contains the library files, which tells iTunes where/what everything is.
    We have drive space for 'personal' use on the C Drive. This is where I keep my itunes folder,
    Is this the \iTunes\ folder an in it is the iTunes library.itl file, iTunes music library.xml, iTunes media folder, Artwork folder, Previous iTunes libraries folder and a few other files?
    If so, hold Shift and launch iTunes. Select *Choose library* and select the *iTunes library.itl* file in this folder.
    iTunes will not create an iTunes folder in \My Music\.

  • JSF mapping missing. ExtensionsFilter not correctly configured.

    I am new to JSF's and using JBoss 4.2.0 application server.
    I trying to use <t:panelTabbedPane> and <t:panelTab> in my page like this:
    <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
    <t:panelTabbedPane id= "tbParticipant" selectedIndex = "0">
         <t:panelTab id = "ptFirstName" label = "First Name"></t:panelTab>
         <t:panelTab id = "ptLastName" label = "Last Name"></t:panelTab>
    </t:panelTabbedPane>
    When I open my page i get this error
    ExtensionsFilter not correctly configured. JSF mapping missing. JSF pages not covered.
    Please see: http://myfaces.apache.org/tomahawk/extensionsFilter.html
    I have my web.xml configured exactlly as described at http://myfaces.apache.org/tomahawk/extensionsFilter.html
    Actually I copied and paste the whole text word by word as shown below but still getting that error.
    <filter>
         <filter-name>MyFacesExtensionsFilter</filter-name>
         <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    <init-param>
    <param-name>maxFileSize</param-name>
    <param-value>20m</param-value>
    <description>Set the size limit for uploaded files.
    Format: 10 - 10 bytes
    10k - 10 KB
    10m - 10 MB
    1g - 1 GB
    </description>
    </init-param>
    </filter>
    <!-- extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages -->
    <filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <!-- servlet-name must match the name of your javax.faces.webapp.FacesServlet entry -->
    <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
    <!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.) -->
    <filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
    </filter-mapping>
         Alternate mapping using a url-pattern instead of a servlet-name (you still need the /faces/myFacesExtensionResource/* mapping as well):
    <!-- extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages -->
    <filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <url-pattern>*.jsf</url-pattern>
    </filter-mapping>
    Please help and thank you in advance.

    Please post the configuration of the FacesServlet in the web.xml.

  • H:commandButton - jsf navigation problem

    Dear All,
    I changed the first page of my application from pageA.jsf to pageB.jsf in the index.jsp file:
    <jsp:forward page="/pages/pageB.jsf" />
    The pageB.jsp is a new page that I just created.
    (I have
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    in the web.xml )
    in the B.jsp I have two "h:commandButton" :
    <td><h:commandButton id="submitB1" value="Upload" action="submitB1"/></td>
    <td><h:commandButton id="submitB2" value="Search" action="submitB2"/></td>
    and in the face-config.xml I have
    <navigation-rule>
    <from-view-id>/pages/pageB.jsp</from-view-id>
    <navigation-case>
    <from-outcome>submitB1</from-outcome>
    <to-view-id>/pages/pageB1.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>submitB2</from-outcome>
    <to-view-id>/pages/pageB2.jsp</to-view-id>
    </navigation-case>
    I can load the pageB but cannot be navigated to pageB1 or B2. Before I changed pageA.jsf to pageB.jsf, the nevigation worked well.
    Anyone has any idea of what would be the cause please help me out.
    Thank you very much in advance for your help

    In the future, please use code tags to post code. This way they will be nicely formatted and (much) better readable, otherwise likely everyone will ignore it. Press the CODE button to get them and use Preview tab to preview.
    However on the new page it seems there is no view root. The bean for the new page is never accessed as it cannot be found.What does the appserver logs say?

  • JSF + Tomahawk component NullPointerException

    Hi All,
    I made a sun JSF portlet by using the tomahawk 1.1.3 file upload component. The bean "UploadedFile myFile" is not getting set in the "MyBean.java" file. I get a java.lang.NullPointerException when I am trying to myFile.getName() or myFile.getInputStream().
    The inputFileUpload method should set the myFile Bean but it seems like its not getting set
    1
    2 <t:inputFileUpload id="myFileId"
    3            value="#{myBean.myFile}"
    4 storage="file"
    5 required="true"/>
    6 <h:message for="myFileId"/>
    I am attaching the whole code below
    Can somebody please help me. I have tried various versions of tomahawk and still not able to figure out the problem.
    I am using JSF 1.1.0 and tomahawk 1.1.3
    Please let me know if you need some more information from me
    1
      2======== index.jsp ==============
      3
      4<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
      5<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
      6<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
      7
      8<f:view>
      9
    10<h:form id="MyForm" enctype="multipart/form-data" >
    11
    12    <h:messages globalOnly="true" styleClass="message"/>
    13
    14    <h:panelGrid columns="3" border="0" cellspacing="5">
    15
    16        <h:outputLabel for="myFileId" value="File: "/>
    17        <t:inputFileUpload id="myFileId"
    18            value="#{myBean.myFile}"
    19            storage="file"
    20            required="true"/>
    21        <h:message for="myFileId"/>
    22
    23        <h:outputLabel for="myParamId" value="Param: "/>
    24        <h:selectOneMenu id="myParamId"
    25                value="#{myBean.myParam}"
    26                required="true">
    27            <f:selectItem itemLabel="" itemValue=""/>
    28            <f:selectItem itemLabel="MD5" itemValue="MD5"/>
    29            <f:selectItem itemLabel="SHA-1" itemValue="SHA-1"/>
    30            <f:selectItem itemLabel="SHA-256" itemValue="SHA-256"/>
    31            <f:selectItem itemLabel="SHA-384" itemValue="SHA-384"/>
    32            <f:selectItem itemLabel="SHA-512" itemValue="SHA-512"/>
    33        </h:selectOneMenu>
    34        <h:message for="myParamId"/>
    35
    36        <h:outputText value=" "/>
    37        <h:commandButton value="Submit"
    38            action="#{myBean.processMyFile}"/>
    39        <h:outputText value=" "/>
    40
    41    </h:panelGrid>
    42
    43</h:form>
    44
    45</f:view>
    46
    47
    48==========  MyBean.java ==============
    49
    50<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    51<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    52<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
    53
    54<f:view>
    55
    56<h:form id="MyForm" enctype="multipart/form-data" >
    57
    58    <h:messages globalOnly="true" styleClass="message"/>
    59
    60    <h:panelGrid columns="3" border="0" cellspacing="5">
    61
    62        <h:outputLabel for="myFileId" value="File: "/>
    63        <t:inputFileUpload id="myFileId"
    64            value="#{myBean.myFile}"
    65            storage="file"
    66            required="true"/>
    67        <h:message for="myFileId"/>
    68
    69        <h:outputLabel for="myParamId" value="Param: "/>
    70        <h:selectOneMenu id="myParamId"
    71                value="#{myBean.myParam}"
    72                required="true">
    73            <f:selectItem itemLabel="" itemValue=""/>
    74            <f:selectItem itemLabel="MD5" itemValue="MD5"/>
    75            <f:selectItem itemLabel="SHA-1" itemValue="SHA-1"/>
    76            <f:selectItem itemLabel="SHA-256" itemValue="SHA-256"/>
    77            <f:selectItem itemLabel="SHA-384" itemValue="SHA-384"/>
    78            <f:selectItem itemLabel="SHA-512" itemValue="SHA-512"/>
    79        </h:selectOneMenu>
    80        <h:message for="myParamId"/>
    81
    82        <h:outputText value=" "/>
    83        <h:commandButton value="Submit"
    84            action="#{myBean.processMyFile}"/>
    85        <h:outputText value=" "/>
    86
    87    </h:panelGrid>
    88
    89</h:form>
    90
    91</f:view>
    92
    93
    94=========== faces-config.xml ==========
    95
    96<?xml version="1.0"?>
    97<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    98
    99<faces-config xmlns="http://java.sun.com/JSF/Configuration">
    100    <managed-bean>
    101        <managed-bean-name>user</managed-bean-name>
    102        <managed-bean-class>com.sample.jsfsun.bean.UserBean</managed-bean-class>
    103        <managed-bean-scope>session</managed-bean-scope>
    104    </managed-bean>
    105    <managed-bean>
    106        <managed-bean-name>myBean</managed-bean-name>
    107        <managed-bean-class>com.sample.jsfsun.bean.MyBean</managed-bean-class>
    108        <managed-bean-scope>request</managed-bean-scope>
    109    </managed-bean>
    110    <navigation-rule>
    111        <from-view-id>/index.jsp</from-view-id>
    112        <navigation-case>
    113            <from-outcome>submit</from-outcome>
    114            <to-view-id>/welcome.jsp</to-view-id>
    115        </navigation-case>
    116    </navigation-rule>
    117    <navigation-rule>
    118        <from-view-id>/welcome.jsp</from-view-id>
    119        <navigation-case>
    120            <from-outcome>back</from-outcome>
    121            <to-view-id>/index.jsp</to-view-id>
    122        </navigation-case>
    123    </navigation-rule>
    124</faces-config>
    125
    126============= web.xml =============
    127
    128
    129<?xml version="1.0"?>
    130<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    131
    132<web-app>
    133    <display-name>friend_info_portlet</display-name>
    134    <context-param>
    135        <param-name>company_id</param-name>
    136        <param-value>liferay.com</param-value>
    137    </context-param>
    138    <context-param>
    139        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    140        <param-value>client</param-value>
    141    </context-param>
    142    <context-param>
    143        <param-name>javax.faces.application.CONFIG_FILES</param-name>
    144        <param-value>/WEB-INF/faces-config.xml</param-value>
    145    </context-param>
    146    <context-param>
    147        <param-name>com.sun.faces.validateXml</param-name>
    148        <param-value>false</param-value>
    149    </context-param>
    150    <filter>
    151        <filter-name>ExtensionsFilter</filter-name>
    152        <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
    153        <init-param>
    154            <param-name>uploadMaxFileSize</param-name>
    155            <param-value>10m</param-value>
    156        </init-param>
    157        <init-param>
    158            <param-name>uploadThresholdSize</param-name>
    159            <param-value>100k</param-value>
    160        </init-param>
    161    </filter>
    162    <filter-mapping>
    163        <filter-name>ExtensionsFilter</filter-name>
    164        <servlet-name>Faces Servlet</servlet-name>
    165    </filter-mapping>
    166    <filter-mapping>
    167        <filter-name>ExtensionsFilter</filter-name>
    168        <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
    169    </filter-mapping>
    170    <filter-mapping>
    171        <filter-name>ExtensionsFilter</filter-name>
    172        <url-pattern>*.jsf</url-pattern>
    173    </filter-mapping>
    174    <listener>
    175        <listener-class>com.liferay.portal.kernel.servlet.PortletContextListener</listener-class>
    176    </listener>
    177    <listener>
    178        <listener-class>com.liferay.util.jsf.sun.faces.config.LiferayConfigureListener</listener-class>
    179    </listener>
    180    <servlet>
    181        <servlet-name>friend_info_portlet</servlet-name>
    182        <servlet-class>com.liferay.portal.kernel.servlet.PortletServlet</servlet-class>
    183        <init-param>
    184            <param-name>portlet-class</param-name>
    185            <param-value>com.sun.faces.portlet.FacesPortlet</param-value>
    186        </init-param>
    187        <load-on-startup>0</load-on-startup>
    188    </servlet>
    189    <servlet>
    190        <servlet-name>Faces Servlet</servlet-name>
    191        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    192        <load-on-startup>1</load-on-startup>
    193    </servlet>
    194    <servlet-mapping>
    195        <servlet-name>friend_info_portlet</servlet-name>
    196        <url-pattern>/friend_info_portlet/*</url-pattern>
    197    </servlet-mapping>
    198    <servlet-mapping>
    199        <servlet-name>Faces Servlet</servlet-name>
    200        <url-pattern>/faces/*</url-pattern>
    201    </servlet-mapping>
    202    <servlet-mapping>
    203        <servlet-name>Faces Servlet</servlet-name>
    204        <url-pattern>*.faces</url-pattern>
    205    </servlet-mapping>
    206    <welcome-file-list>
    207        <welcome-file>index.jsp</welcome-file>
    208    </welcome-file-list>
    209    <taglib>
    210        <taglib-uri>http://java.sun.com/portlet</taglib-uri>
    211        <taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location>
    212    </taglib>
    213</web-app>

    jabalsad wrote:
    contents of /WEB-INF/lib
    jsf-api.jar
    jsf-impl.jar
    myfaces-api-1.2.7.jar
    myfaces-impl-1.2.7.jar
    You cannot mix differnet JSF implementations. Use the one or the other.
    As you stated that you're "using" Mojarra, get rid of those myfaces jars.

  • I want to display a jsf page directly.

    I want to display a jsf page directly. In my project I am using jsf frame work and we are using org.apache.myfaces.component.html.util.ExtensionsFilter to redirect the request to the login.jsf. please any one help me on this.

    my requirement is I have to display a jsf page which is there in the project directly, without going through login page. Right now Iif i am trying to open it in browser directly, it is redirecting to login.jsf. I have following 'extensionsFilter' content in web.xml
    <filter>
    <filter-name>extensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
    <init-param>
    <param-name>uploadMaxFileSize</param-name>
    <param-value>100m</param-value>
    <description>Set the size limit for uploaded files.
    Format: 10 - 10 bytes
    10k - 10 KB
    10m - 10 MB
    1g - 1 GB
    </description>
    </init-param>
    <init-param>
    <param-name>uploadThresholdSize</param-name>
    <param-value>100k</param-value>
    <description>Set the threshold size - files
    below this limit are stored in memory, files above
    this limit are stored on disk.
    Format: 10 - 10 bytes
    10k - 10 KB
    10m - 10 MB
    1g - 1 GB
    </description>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>*.jsf</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>/faces/*</url-pattern>
    </filter-mapping>

  • Navigation issue using jsf, tiles, tomahawk  :loosing faces context

    Hi all,
    I enhanced my webapp using tomahawks jscookmenu.
    Triggering 1 menuItem the wanted pages displays correctly but the next click anywhere in the application shows this error:
    org.apache.jasper.JasperException: javax.faces.FacesException: Faces context not found. getResponseWriter will fail. Check if the FacesServlet has been initialized at all in your web.xml configuration fileand if you are accessing your jsf-pages through the correct mapping. E.g.: if your FacesServlet is mapped to  *.jsf (with the <servlet-mapping>-element), you need to access your pages as 'sample.jsf'. If you tried to access 'sample.jsp', you'd get this error-message.The web config is like that:
    <?xml version="1.0"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">
         <context-param>
              <description>Tiles MyFaces Config</description>
              <param-name>tiles-definitions</param-name>
              <param-value>/WEB-INF/tiles.xml</param-value>
         </context-param>
         <context-param> 
              <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
              <param-value>.jsp</param-value>
         </context-param>
         <context-param>
              <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
              <param-value>server</param-value>
         </context-param>
         <context-param>
              <param-name>javax.faces.PARTIAL_STATE_SAVING_METHOD</param-name>
              <param-value>off</param-value>
         </context-param>
         <!-- context-params mafaces -->
         <context-param>
              <param-name>org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS</param-name>
              <param-value>true</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.RENDER_VIEWSTATE_ID</param-name>
              <param-value>true</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.STRICT_XHTML_LINKS</param-name>
              <param-value>true</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.CONFIG_REFRESH_PERIOD</param-name>
              <param-value>this is a bug in myfaces</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.ADD_RESOURCE_CLASS</param-name>
              <param-value>org.apache.myfaces.renderkit.html.util.DefaultAddResource</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.RESOURCE_VIRTUAL_PATH</param-name>
              <param-value>/faces/myFacesExtensionResource</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.CHECK_EXTENSIONS_FILTER</param-name>
              <param-value>true</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
              <param-value>true</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
              <param-value>true</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
              <param-value>true</param-value>
         </context-param>
         <context-param>
              <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
              <param-value>false</param-value>
         </context-param>
         <!-- StartupServletContextListener -->
         <listener>
              <listener-class>
                   org.apache.myfaces.webapp.StartupServletContextListener
              </listener-class>
         </listener>
         <!-- Faces MyFacesExtensionsFilter -->
         <filter>
              <filter-name>MyFacesExtensionsFilter</filter-name>
              <filter-class>
                   org.apache.myfaces.webapp.filter.ExtensionsFilter
              </filter-class>
              <init-param>
                   <param-name>uploadMaxFileSize</param-name>
                   <param-value>1m</param-value>
              </init-param>
         </filter>
         <filter-mapping>
              <filter-name>MyFacesExtensionsFilter</filter-name>
              <url-pattern>/faces/*</url-pattern>
         </filter-mapping>
         <filter-mapping>
              <filter-name>MyFacesExtensionsFilter</filter-name>
              <url-pattern>*.jsf</url-pattern>
         </filter-mapping>
         <!-- Faces Servlet -->
         <servlet>
              <servlet-name>Faces Servlet</servlet-name>
              <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
              <load-on-startup>1</load-on-startup>
         </servlet>
         <!-- Faces Servlet Mapping -->
         <servlet-mapping>
              <servlet-name>Faces Servlet</servlet-name>
              <url-pattern>*.jsf</url-pattern>
         </servlet-mapping>
         <welcome-file-list>
              <welcome-file>index.jsp</welcome-file>
         </welcome-file-list>
         <servlet>
              <servlet-name>imageServlet</servlet-name>
              <servlet-class>my.com.xplorer.gui.v.ImageServlet</servlet-class>
         </servlet>
         <servlet-mapping>
              <servlet-name>imageServlet</servlet-name>
              <url-pattern>/image/*</url-pattern>
         </servlet-mapping>
    </web-app>So I lost the faces context using the jscookmenu, I believe.
    My webapp uses tiles, and there is 2 navigation possibilities: tomahawaks jscookmenu and tomahawaks commandNavigation.
    Latter one runs ok, I do use
    <t:panelNavigation id="nav" styleClass="navigation"
         itemClass="navitem" separatorClass="navseparator" 
         activeItemClass="navitem_active" openItemClass="navitem_open">
         <t:commandNavigation action="#{newsHandler.userRequest}" value="#{newsHandler.rss_source_name[0]}">
              <f:param name="navigator"  value="/jsf/news.jsp" />
         </t:commandNavigation>
    </t:panelNavigation>for this kind of navigation I do not use any navigation rules in faces config. To dynamically include the desired faces page I do that:
    <%
         String s = (String)request.getParameter("navigator");
         if (s == null || s.length() == 0 ) {
              s =  "/jsf/explorer.jsp";
    %>
    <jsp:include page="<%=s %>" />That does work.
    Now like I said I did enhance the app by adding tomahawks jscookmenu.
    Therefore I use the following in another tile:
    <t:jscookMenu layout="hbr" theme="ThemeOffice" styleLocation="resources/css">
              <%/* Availaible jscookMenu themes: ThemeIE, ThemeMiniBlack, ThemeOffice, ThemePanel
                 Availaible jscookMenu layout: hbr, hbl, hur, hul, vbr, vbl, vur, vul
                 respect to Heng Yuan http://www.cs.ucla.edu/~heng/JSCookMenu
            */%>
      <t:navigationMenuItem id="nav_0" itemLabel="#{localz.Xplorer}" action="Xplorer" />
    </t:jscookMenu>For this kind of navigation I tried to use navigation rules and the following show the config:
         <navigation-rule>
           <from-view-id>/jsf/*</from-view-id>
            <navigation-case>
                <from-outcome>Xplorer</from-outcome>
                <to-view-id>/jsf/tileMain.jsp?navigator=/jsf/explorer.jsp</to-view-id>
            </navigation-case>
            <navigation-case>
                <from-outcome>Tabs</from-outcome>
                <to-view-id>/jsf/tileMain.jsp?navigator=/jsf/tab.jsp</to-view-id>
            </navigation-case>
         </navigation-rule>That works for the first click. The desired page is shown. The nect click anywhere in the app then show the mentioned error.
    Using tiles I use this view-handler
    <view-handler>org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl</view-handler>One question is: can I use another view-handler on top of the above one? So I could extend com.sun.facelets.FaceletViewHandler and try my luck with this? Or is the solution pointed out just a millisecond from being ok, I just don�t see it?
    Maybe you need to know a bit more on how I use tiles:
    That is the page I start with. It inserts the tile shown underneath.
    <f:view locale="#{userLocale}">
         <f:loadBundle var="localz" basename="my.com.xplorer.gui.v.Lokalization" />
         <f:loadBundle var="bundle" basename="my.com.xplorer.gui.v.messages" />
         <f:subview id="tileMain">
              <h:form id="myJsfForm" styleClass="standard">
                        <tiles:insert definition="template" flush="false" />
              </h:form>
         </f:subview>
         <h:messages />
    </f:view>
    </html>The foolowing is the tile structure.
    The bodi tile is the dynamic part. Above you see that I dynamically load the pages into it.
    <t:htmlTag value="div" styleClass="pageLayout">
         <h:panelGrid columns="2" align="center" styleClass="pageContent">
              <f:facet name="header">
                   <f:subview id="header">
                        <tiles:insert attribute="header" flush="false" />
                   </f:subview>
              </f:facet>
              <t:htmlTag value="div" styleClass="pageMenu">
                   <f:subview id="menu">
                        <tiles:insert attribute="menu" flush="false" />
                   </f:subview>
              </t:htmlTag>
              <t:htmlTag value="div" styleClass="pageContentWoMenu">
                   <f:subview id="bodi">
                        <tiles:insert attribute="bodi" flush="false" />
                   </f:subview>
              </t:htmlTag>
              <f:facet name="footer">
                   <f:subview id="footer">
                        <tiles:insert attribute="footer" flush="false" />
                   </f:subview>
              </f:facet>
         </h:panelGrid>
    </t:htmlTag>Maybe you also need to know the tiles config?
    <tiles-definitions>
       <definition name="template" path="/jsf/tileTemplate.jsp">
              <put name="header"  value="/jsf/header.jsp"/>
          <put name="menu"    value="/jsf/menu.jsp"/>
          <put name="bodi"    value="/jsf/bodi.jsp"/>
          <put name="footer"    value="/jsf/footer.jsp"/>
       </definition>
       <definition name="/jsf/news.tiles" extends="template">
              <put name="bodi"  value="/jsf/news.jsp"/>
       </definition>
       <definition name="/jsf/explorer.tiles" extends="template">
              <put name="bodi"  value="/jsf/explorer.jsp"/>
       </definition>
       <definition name="/jsf/tab.tiles" extends="template">
              <put name="bodi"  value="/jsf/tab.jsp"/>
       </definition>If you have read until here: thanks very much.
    There seems to be a sort of gap regarding jsf navigation documentation.
    I mean the ordinary way is covered everywhere (the book I have covers that too), but jscookmenu seems not to fit in too good. I also tried it with an actionslistener in the jscookmenu but that failed, too. So a link to documents telling the truth on jsf navigation I would appreciate very much.
    Kind regards
    Belle Ile En Mer

    This is the error i am getting into now..
    exception
    org.apache.jasper.JasperException: An exception occurred processing JSP page /welcomeJSF.jsp at line 19
    16: This file is an entry point for JavaServer Faces application.
    17: --%>
    18: <body>
    19: <f:view>
    20: <h3><h:outputText value="CHOULTRY'S IN BANGALORE" /></h3>
    21: <h:form>
    22: <table border="0">
    Stacktrace:
         org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    root cause
    java.lang.RuntimeException: Cannot find FacesContext
         javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1811)
         javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1628)
         org.apache.jsp.welcomeJSF_jsp._jspx_meth_f_005fview_005f0(welcomeJSF_jsp.java:112)
         org.apache.jsp.welcomeJSF_jsp._jspService(welcomeJSF_jsp.java:86)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

  • Problems With url-pattern in a filter-mapping

    Hi!
    I need to make a filter when the clients call a jsf pages in /pages in my web application, but when i make the filter-mapping like this:
         <filter-mapping>
              <filter-name>sessionFilter</filter-name>
              <url-pattern>/pages/*.jsf</url-pattern>
         </filter-mapping>An exception appears:
    SEVERE: Parse error in application web.xml
    java.lang.IllegalArgumentException: Invalid <url-pattern> /pages/*.jsf in filter mapping
         at org.apache.commons.digester.Digester.createSAXException(Digester.java:2540)
         at org.apache.commons.digester.Digester.createSAXException(Digester.java:2566)
         at org.apache.commons.digester.Digester.endElement(Digester.java:1061)
         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
         at org.apache.commons.digester.Digester.parse(Digester.java:1548)
         at org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.java:263)
         at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:624)
         at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:216)
         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4290)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
         at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
         at org.apache.catalina.core.StandardService.start(StandardService.java:480)
         at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)the <url-pattern>/pages/*</url-pattern> not work to me because process all pages, I nedd only *.jsf
    Please Help me whit this.

    "the <url-pattern>/pages/*</url-pattern> not work to me because process all pages, I nedd only *.jsf"
    Yes but in the filter you can get the url from the request.getUrl() and then only process requests that contain .jsf. Simply just pass all other requests along.
    Some information on url pattern matching:
    http://edocs.bea.com/wls/docs61/webapp/components.html#113049

Maybe you are looking for

  • Need info about the parameter _FIX_CONTROL in a BW environment

    Hi , I have done some research about the parameter FIXCONTROL and went through the SAP note 1165319. We have a task at hand where SAP has recommended a new value to be added to this parameter in a BW production environment. Now in the above note ther

  • My iphone 5's top button problem

    My iphone 5's top button which i used for key lock is doesn't work. i live in İstanbul in Turkey. ı called apple store which name is Zorlu Apple center, about this buttom problem, they couldn't help me because of my iphone seen ABD. Can you help me.

  • Payment Summary Layout

    Hi SAP Gurus, I am trying to create payment medium through tcode FBPM

  • Multiple SID in same server

    Guys, Our platform is Oracle 10g on Windows 2003 x64.  We want to install our central SLD on the same machine as solution manager.  How can I accomplish this in Oracle?  Can I install the SLD in the same Oracle home as Solution Manager?  If so, will

  • Query to find user who doesn't own object

    Hai all, I want a query to get the list of the user who doesn' t have a particular object in the DB : OBject name is apps_ddl.. All users in the DB should have this object.. want to know who are all the users in the DB who doesnt have apps_ddl Please