JSF desing: Application with similar pages

I have a design question regarding JSF. Sometimes, a web application consists of a set of pages that look basically the same but perform different operations in the background. As an example, consider Google that offers several search types (normal search, images, news, scholar, etc.). The interface is always very similar, but the search engine invoked in the background differs.
Obviously it's a bad idea to have an own search and results page for each search type, as many things remain identical, which results in intensive code replication. If one page is changed, all pages have to be changed. That's definitely not desired.
So what is the right way to overcome this problem using JSF? Of course I could write just one page and heavily use the "rendered" attributed in JSF tags (to account for the differences in the pages). I would then probably have some member "current search engine" in the backing bean and bind the action of the search button to the current search engine's search method. Whenever the search type is changed, the current search engine would point to another search engine object in the bean.
Further, the JSF navigation would probably become dependent on the state of a session bean. If I want to link to a help page, for example, a different page should be displayed for the, say, image search and the news search. The "help" button would probably just be bound to a help() method, which, depending on the current search engine, would return "help image search", "help news search", etc. Denpendent on the outcome, JSF could then navigate to the correct page.
I guess this approach would basically work. However, I see some relevant drawbacks.
1) Assume the user is in the "news search" mode. He then clicks on "image search" and then hits the back button. Now he hits the "help" button. Without further measures that allow to detect that the back button was hit, I guess, JSF would now navigate to the page "help image search" (even though the user (who sees the news search page), would expect to be taken to the "help news search" page). I expect this behaviour, since JSF (or better the backing bean) does not know that we are on the "news search" page again (as it is only a cached copy from the browser). If there were multiple pages with different URLs for each page, JSF could detect that fact but checking the viewId (is that correct?).
2) I guess the JSF pages become rather difficult to read (and thus to edit) due to the extensive use of rendered and unrendered parts.
I guess the first problem could be solved with some hidden inputs on the pages (that inform the backing bean about the page we are currently viewing). But this rather looks like a hack to me...
Therefore my question. Is there some nice way to write a JSF application with these characteristics? And if yes, how should it be done? Maybe there is something like inheritance and the ability to override certain parts (as in object oriented programming). Then I could keep different pages (with own URLs), but don't have to replicate the code.
And ideas, hints and links to documents and discussions about that topic are highly appreciated.
Thanks,
Michael

According the contents, I can't use JSF alone to deal
big projects, have to associate with a framework. IF
it is the case, I don't think it's an easy choice for
new user, though it has great flexibility for the
others.additional application framework helps you to separate functional and behavioural aspects of your system. it helps by providing standarised way of dealing with the separation. if you clearly design your own rules - you don't have to use additional 'big' framework. however, it might be usefull to use some smaller specialised ones, eg. for tiles or validation, if it's an issue in your particular case.
that's my opinion.
Any sugestion if there is a common appoarch that JSF
doesn't have to associate with a framework (maybe in
the near future)?now i'm working on portal application. it's build of rather small portlets, each one implemented using jsf. we doesn't use any additional frameworks. it wouldn't make much sense, as the portlet-based architecture enforces clear and distinct separation of functional modules.
wojtek

Similar Messages

  • Getting application exception while running a web application with UIX page

    Hi All,
    I am a new user to JDeveloper. I am practicing Struts and using UIX pages as interface. I did a simple application which is in oracle website. I am running the application using struts-config.xml file. I mea nrightclicking on one of Icon and choose run option. I am getting these below exception. Can any one tell what is the problem?
    [Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
    C:\jdev1012\jdev\system10.1.2.2.0.1929\oc4j-config>
    C:\jdev1012\jdk\bin\javaw.exe -ojvm -classpath C:\jdev1012\j2ee\home\oc4j.jar;C:\jdev1012\jdev\lib\jdev-oc4j.jar -Xverify:none -Ddisable.checkForUpdate=true -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doracle.dms.sensors=NONE -Doc4j.jms.usePersistenceLockFiles=false com.evermind.server.OC4JServer -config C:\jdev1012\jdev\system10.1.2.2.0.1929\oc4j-config\server.xml
    [waiting for the server to complete its initialization...]
    07/11/22 13:12:06 Error instantiating application at file:/D:/Software/jdev1012/jdev/system10.1.2.2.0.1929/oc4j-config/applications/bc4j.ear: Unable to find/read assembly info for D:\Software\jdev1012\jdev\system10.1.2.2.0.1929\oc4j-config\applications\bc4j archive (IO Error: The system cannot find the path specified.
    07/11/22 13:12:09 Auto-deploying file:/C:/jdev1012/jdev/mywork/HelloApplication/ViewController/public_html/ (New server version detected)...
    07/11/22 13:12:32 java.net.ConnectException: Connection timed out: connect
    07/11/22 13:12:32      at java.net.PlainSocketImpl.socketConnect(Native Method)
    07/11/22 13:12:32      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
    07/11/22 13:12:32      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
    07/11/22 13:12:32      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
    07/11/22 13:12:32      at java.net.Socket.connect(Socket.java:452)
    07/11/22 13:12:32      at java.net.Socket.connect(Socket.java:402)
    07/11/22 13:12:32      at java.net.Socket.<init>(Socket.java:309)
    07/11/22 13:12:32      at java.net.Socket.<init>(Socket.java:153)
    07/11/22 13:12:32      at oracle.jdevimpl.runner.oc4j.Oc4jNotifier.sendMessage(Oc4jNotifier.java:98)
    07/11/22 13:12:32      at oracle.jdevimpl.runner.oc4j.Oc4jNotifier.postInitApplicationServer(Oc4jNotifier.java:55)
    07/11/22 13:12:32      at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1659)
    07/11/22 13:12:32      at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:92)
    07/11/22 13:12:32 Oracle Application Server Containers for J2EE 10g (10.1.2.2.0) initialized
    07/11/22 13:12:32      at java.lang.Thread.run(Thread.java:534)
    Message was edited by:
    user606886
    I think i did not given sufficient information. This exception is coming when i try to run the Icon in struts-config.xml file. Which will launch an internal server (which come with JDeveloper i did not configure any Tomcat or Oracle Application Server) that run the page.

    Are you using correct Jdeveloper version ?
    Refer http://oraclearea51.com/blog/setting-up-jdeveloper-download-correct-version-of-jdev-and-diagnosing-problems.html?blogger=contactriteshsharma
    -Anand

  • Problem in PS5(11.1.1.6) with jspx page opening as popup

    I am trying to open a jspx page which contains af:table in a new window. Each time I open the window I am closing the window. After 3rd attempt the page is hanging to load the page.
    I was able to produce this issue in IE7, IE8 and IE9 but not firefox. In IE7, I was able to reproduce this issue in 3rd attempt but in IE9 it does happen after 7th or 8th attempt. Currently an SR is opened with Oracle Support.
    Any help will be appreciated.
    Version: PS5-11.1.1.6
    Integrated Weblogic Domain.
    This problem is not happening in PS4 (11.1.1.5).
    Steps:
    1. Create an ADF application with Jspx page and add a table. Open the page from html using a href tag with target="_blank".
    2. open the jspx page by clicking on the link in a new window. Close the popup window
    3. Repeat step 2. In IE7 3rd attempt the page will be keep on looping trying to render the page
    I have noticed below exception in the diagnostic logs
    [2013-05-23T11:39:27.599-05:00] [DefaultServer] [WARNING] [] [oracle.adf.controller.faces.lifecycle.Utils] [tid: [ACTIVE].ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: anonymous] [ecid: aa5c8768ae0561d4:1267b2c4:13ed1c1d7d9:-8000-0000000000000b82,0] [APP: Application3] ADF: Adding the following JSF error message: java.lang.NullPointerException[[
    java.lang.NullPointerException
         at oracle.jbo.domain.TypeFactory.get(TypeFactory.java:558)
         at oracle.jbo.domain.TypeFactory.getInstance(TypeFactory.java:351)
         at oracle.adf.model.binding.DCMethodParameterDef.resolveParameterValue(DCMethodParameterDef.java:225)
         at oracle.adf.model.binding.DCMethodParameter.resolveParameterValue(DCMethodParameter.java:57)
         at oracle.adf.model.binding.DCInvokeMethod.fetchAndSaveParameterValues(DCInvokeMethod.java:325)
         at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:239)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1635)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2150)
         at oracle.adf.model.bean.DCBeanDataControl.invokeOperation(DCBeanDataControl.java:469)
         at oracle.adf.model.adapter.AdapterDCService.invokeOperation(AdapterDCService.java:313)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:740)
         at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.invokeMethodAction(JUMethodIteratorDef.java:173)
         at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.initSourceRSI(JUMethodIteratorDef.java:656)
         at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1672)
         at oracle.adf.model.binding.DCIteratorBinding.internalGetRowSetIterator(DCIteratorBinding.java:1645)
         at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4395)
         at oracle.adf.model.binding.DCExecutableBinding.refreshIfNeeded(DCExecutableBinding.java:341)
         at oracle.adf.model.binding.DCIteratorBinding.getDeferredEstimatedRowCount(DCIteratorBinding.java:3752)
         at oracle.jbo.uicli.binding.JUCtrlRangeBinding.getDeferredEstimatedRowCount(JUCtrlRangeBinding.java:126)
         at oracle.adfinternal.view.faces.model.binding.RowDataManager._getRowCount(RowDataManager.java:523)
         at oracle.adfinternal.view.faces.model.binding.RowDataManager.getEstimatedRowCount(RowDataManager.java:321)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.getEstimatedRowCount(FacesCtrlHierBinding.java:747)
         at org.apache.myfaces.trinidad.component.UIXCollection.getEstimatedRowCount(UIXCollection.java:1298)
         at oracle.adfinternal.view.faces.renderkit.rich.table.BaseTableRenderer.getEstimatedRowCount(BaseTableRenderer.java:1793)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.renderDataBlockRows(TableRenderer.java:1690)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._renderSingleDataBlock(TableRenderer.java:1618)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._handleDataFetch(TableRenderer.java:1020)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.encodeAll(TableRenderer.java:506)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:341)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:538)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at oracle.adfinternal.view.faces.util.rich.InvokeOnComponentUtils$EncodeChildVisitCallback.visit(InvokeOnComponentUtils.java:113)
         at org.apache.myfaces.trinidadinternal.context.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:222)
         at org.apache.myfaces.trinidad.component.UIXIterator.visitTree(UIXIterator.java:251)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at oracle.adf.view.rich.component.rich.RichDocument.visitTree(RichDocument.java:198)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at oracle.adfinternal.view.faces.util.rich.InvokeOnComponentUtils.renderChild(InvokeOnComponentUtils.java:43)
         at oracle.adfinternal.view.faces.streaming.StreamingDataManager._pprComponent(StreamingDataManager.java:756)
         at oracle.adfinternal.view.faces.streaming.StreamingDataManager.execute(StreamingDataManager.java:525)
         at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer._encodeStreamingResponse(DocumentRenderer.java:3606)
         at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1508)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:341)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
         at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:266)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:197)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:911)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:367)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:222)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

    I would like to step back and would like to explain some details about the requirement.
    The original requirement is to integrate this application with one of our legacy application which uses jsp and html. We open webcenter portal page as a new window from the legacy application using javascript window.location. The business requirement is to keep the legacy page open and process the use case in webcenter portal page which contains table and popup components. So, the users of the legacy application will open the page in new window and as they complete each use case they close the browser and again open with new use case.
    Everything was perfectly working till we started all our applications to PS5. We started seeing above problem.
    I was able to narrow down the problem and found that the issue is causing because of using table and popup component on the page.
    oracle support just confirmed that this is happening only in PS5 and not in PS6.

  • One application with Multiple schemas- common application frame work

    Hi All,
    I am trying setup a common application frame work in apex. Please help me.
    How to achieve this.
    Creation of one application attached to different schemas at run time. So that my application maintaince is going to be easy instated of creating copies of same application.
    More details:
    1. I have one application with 100 pages pointing to a schema dev_common in one workspace APP_COMMON. I have 50 schemas with same structure of dev_common schema with different set of data ( because of large amount of data).
    So I want to create one application attached to different schemas.
    2. And another thing is I have 100 users, the user can work on 1 or multiple schemas ( I mean same application with different schemas attached)
    Any help much appreciated.
    Thanks,

    Thank you for the reply.
    >> b) I think you have to give access rights for the dev_common and app_common to all users.
    Dev_common schema is a kind of placeholder. I have 50 schemas same as dev_common because of different business requirements but the front end is same for all 50 schemas. How can we create one application used for 50 schemas instead of creating 50 applications and 50 workspaces.
    Please help me.

  • APEX 3.2 Associating application with SSO login page.

    Hi
    My requirement is to replace my login page of APEX3.2 application with an SSO login page. Also, the application uses some tables with some history columns like: "Last Updated by", "Created by", "Last Update Time", etc... While create/edit of any table, I want these columns to be automatically populated according to the credentials used in SSO login page to that application. Please help.
    The link given on this forum (http://www.oracle.com/technology/products/database/application_express/howtos/sso_partner_app.html) for the purpose seems to be obsolete i.e. for previous versions of APEX.
    Thanks
    Bhavesh

    Bhavesh,
    That how-to explains all the steps you need to set up SSO with Application Express.
    As far as the audit columns, just create triggers on your tables. Referenced v('APP_USER') to get the authenticated username.
    Scott

  • I want to create home page for my application with short URL

    I want to create home page for my application with short URL
    as when I want user to use my application user must go to URL like this
    http://127.0.0.1:7101/My-Project/faces/app/empModule/allEmployees/viewMyEmployees.jspxI want the user to use short URL , How can I use shorter URL not all this one.
    I want shorter URL for my application not to write full path .
    thanks in advance.
    Edited by: user611775 on Oct 31, 2010 10:21 PM

    Well,
    it's up to you. The first part (Mcit-Project-ViewController-context-root) is the context root which you define in the view controller project. 'faces' is the name the servlet filter reacts on. You can't omit it but shorten it in web.xml. The rest is your directory structure. I'm not sure how to shorten this other as to move the jspx files back into the web root folder.
    By the way an ADF faces app never uses the .jspx at the end of the url. If you specify '.jspx', you only render the page but don't start the work flow.
    Timo

  • How can i share the pages application with another computer?

    How can U share the pages application with another computer?

    Just make sure it is for you or your family.
    If you purchased Pages through the Mac App Store, then just login on the other computer using the same Apple I.D. and you can install it at no extra charge.
    Peter

  • Login Problems in an Application with a lot of Pages

    Hi,
    I have a problem with the authentication.
    I have an application with a lot of Pages and I want to have one Login for the whole Application.
    So I created an authentication scheme and set the logging for the application to 'yes'.
    So far all works well, but when I use the application and branch throu the different pages I must Login everytime when I want to open a new page.
    I know that I can set the authentication(in page definition) for every page to 'Page is Public' but that isn't what I want, because then you can access the single pages without a Login!
    So I need an authentication for the first time where I access the application and then no more authentication is needed.
    Can anybody help me, please?
    Thanks,
    Tim

    Sorry Jes,
    I solved the problem.....
    My mistake was that I didn't pass the Session in the links to the different pages!
    Sorry I'm still a beginner...

  • JSF Navigation issue with Webcenter OC4J and Open Portal JSF Bridge

    Hi All,
    I was wondering if anybody had experienced the same issue as per below:
    I have a problem using the Open Portal JSF Portlet Bridge within a oracle webcenter OC4J. I have a trivial application with 2 jsps. The first has a single button, which when pushed navigates to the second screen.
    This app works fine as a stand alone web app and also via the Oracle Faces Bridge using the OC4J. However, when I deploy using the jsfportletbridge 1.1.4 (I'm using the JSF 1.1) - it will not navigate from the first page. It simply refreshes the first page when clicked.
    It looks like there is a problem with navigation. I have traced out the application (which I will include in full below), however the entries which looked relevant were (this occured after the first page was rendered):
    07/06/05 23:49:19 [DEBUG] StateManagerImpl - Begin restoring view in session for viewId /hello.jsp
    07/06/05 23:49:19 [DEBUG] StateManagerImpl - Session Available, but View State does not exist for viewId: /hello.jsp
    07/06/05 23:49:19 [TRACE] LifecycleImpl - Creating new view '/hello.jsp'
    My gut feel is that state is not being retained between requests, so it is just recreating the same view, however I'm at a loss to explain why
    Attached below are the files used & trace log:
    Chris,
    hello.jsp
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <f:view>
    <h:form>
    <h:commandButton value="commandButton1" action="success"/>
    <h:messages/>
    </h:form>
    </f:view>
    world.jsp
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <f:view>
    <html>
    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    <title>world</title>
    </head>
    <body><h:form>
    <h:outputText value="Hello World"/>
    </h:form></body>
    </html>
    </f:view>
    faces-config
    <?xml version="1.0" encoding="windows-1252"?>
    <!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">
    <navigation-rule>
    <from-view-id>/hello.jsp</from-view-id>
    <navigation-case>
    <from-outcome>success</from-outcome>
    <to-view-id>/world.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    </faces-config>
    web.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <web-app 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" xmlns="http://java.sun.com/xml/ns/j2ee">
    <description>Empty web.xml file for Web Application</description>
    <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>
    <session-config>
    <session-timeout>35</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    </web-app>
    portlet.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
    version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
    http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
    <portlet>
    <description>JSF Sample Portlet</description>
    <portlet-name>jsfsampleportlet</portlet-name>
    <display-name>JSF Sample Portlet</display-name>
    <!-- You must use this Portlet implementation class -->
    <portlet-class>com.sun.faces.portlet.FacesPortlet</portlet-class>
    <!-- This is a required parameter and must point to the first page of the JSF Application -->
    <init-param>
    <description>Portlet init view page</description>
    <name>com.sun.faces.portlet.INIT_VIEW</name>
    <value>/hello.jsp</value>
    </init-param>
    <supports>
    <mime-type>text/html</mime-type>
    <portlet-mode>VIEW</portlet-mode>
    <portlet-mode>EDIT</portlet-mode>
    <portlet-mode>HELP</portlet-mode>
    </supports>
    <portlet-info>
    <title>JSF Sample Portlet</title>
    <short-title>jsfsampleportlet</short-title>
    </portlet-info>
    </portlet>
    </portlet-app>
    Log Trace:
    07/06/05 23:48:10 [DEBUG] ApplicationFactoryImpl - Created ApplicationFactory
    07/06/05 23:48:10 [DEBUG] ApplicationImpl - Created Application instance
    07/06/05 23:48:10 [DEBUG] ApplicationFactoryImpl - Created Application instance com.sun.faces.application.ApplicationImpl@dc1165
    07/06/05 23:48:10 [DEBUG] ApplicationImpl - set ActionListener Instance to com.sun.faces.application.ActionListenerImpl@177cbf7
    07/06/05 23:48:10 [DEBUG] NavigationHandlerImpl - Created NavigationHandler instance
    07/06/05 23:48:10 [DEBUG] NavigationHandlerImpl - Created NavigationHandler instance
    07/06/05 23:48:10 [DEBUG] ApplicationImpl - set NavigationHandler Instance to com.sun.faces.application.NavigationHandlerImpl@1efda65
    07/06/05 23:48:10 [DEBUG] ApplicationImpl - set PropertyResolver Instance to com.sun.faces.el.PropertyResolverImpl@7c329d
    07/06/05 23:48:10 [DEBUG] ApplicationImpl - set StateManager Instance to com.sun.faces.application.StateManagerImpl@6d006c
    07/06/05 23:48:10 [DEBUG] ApplicationImpl - set VariableResolver Instance to com.sun.faces.el.VariableResolverImpl@36b7cc
    07/06/05 23:48:10 [DEBUG] ViewHandlerImpl - Created ViewHandler instance
    07/06/05 23:48:10 [DEBUG] ApplicationImpl - set ViewHandler Instance to com.sun.faces.application.ViewHandlerImpl@10b4509
    07/06/05 23:48:10 [DEBUG] ViewHandlerImpl - Delegating to 'com.sun.faces.application.ViewHandlerImpl@10b4509'
    07/06/05 23:48:10 [DEBUG] ApplicationImpl - set ViewHandler Instance to com.sun.faces.portlet.ViewHandlerImpl@da1b43
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type PortletComponent class com.sun.faces.portlet.PortletComponent
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Column class javax.faces.component.UIColumn
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Command class javax.faces.component.UICommand
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Data class javax.faces.component.UIData
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Form class javax.faces.component.UIForm
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Graphic class javax.faces.component.UIGraphic
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlCommandButton class javax.faces.component.html.HtmlCommandButton
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlCommandLink class javax.faces.component.html.HtmlCommandLink
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlDataTable class javax.faces.component.html.HtmlDataTable
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlForm class javax.faces.component.html.HtmlForm
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlGraphicImage class javax.faces.component.html.HtmlGraphicImage
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlInputHidden class javax.faces.component.html.HtmlInputHidden
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlInputSecret class javax.faces.component.html.HtmlInputSecret
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlInputText class javax.faces.component.html.HtmlInputText
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlInputTextarea class javax.faces.component.html.HtmlInputTextarea
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlMessage class javax.faces.component.html.HtmlMessage
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlMessages class javax.faces.component.html.HtmlMessages
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlOutputFormat class javax.faces.component.html.HtmlOutputFormat
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlOutputLabel class javax.faces.component.html.HtmlOutputLabel
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlOutputLink class javax.faces.component.html.HtmlOutputLink
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlOutputText class javax.faces.component.html.HtmlOutputText
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlPanelGrid class javax.faces.component.html.HtmlPanelGrid
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlPanelGroup class javax.faces.component.html.HtmlPanelGroup
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlSelectBooleanCheckbox class javax.faces.component.html.HtmlSelectBooleanCheckbox
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlSelectManyCheckbox class javax.faces.component.html.HtmlSelectManyCheckbox
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlSelectManyListbox class javax.faces.component.html.HtmlSelectManyListbox
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlSelectManyMenu class javax.faces.component.html.HtmlSelectManyMenu
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlSelectOneListbox class javax.faces.component.html.HtmlSelectOneListbox
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlSelectOneMenu class javax.faces.component.html.HtmlSelectOneMenu
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.HtmlSelectOneRadio class javax.faces.component.html.HtmlSelectOneRadio
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Input class javax.faces.component.UIInput
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Message class javax.faces.component.UIMessage
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Messages class javax.faces.component.UIMessages
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.NamingContainer class javax.faces.component.UINamingContainer
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Output class javax.faces.component.UIOutput
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Panel class javax.faces.component.UIPanel
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.Parameter class javax.faces.component.UIParameter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.SelectBoolean class javax.faces.component.UISelectBoolean
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.SelectItem class javax.faces.component.UISelectItem
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.SelectItems class javax.faces.component.UISelectItems
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.SelectMany class javax.faces.component.UISelectMany
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.SelectOne class javax.faces.component.UISelectOne
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added component of type javax.faces.ViewRoot class javax.faces.component.UIViewRoot
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.BooleanConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.ByteConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.CharacterConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.DoubleConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.FloatConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.IntegerConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.LongConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.ShortConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.BooleanConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.ByteConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.CharacterConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.DoubleConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.FloatConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.IntegerConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.LongConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.ShortConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.BigDecimalConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.BigIntegerConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.BooleanConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.ByteConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.CharacterConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.DoubleConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.FloatConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.IntegerConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.LongConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of class type javax.faces.convert.ShortConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.BigDecimal and class javax.faces.convert.BigDecimalConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.BigInteger and class javax.faces.convert.BigIntegerConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.Boolean and class javax.faces.convert.BooleanConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.Byte and class javax.faces.convert.ByteConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.Character and class javax.faces.convert.CharacterConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.DateTime and class javax.faces.convert.DateTimeConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.Double and class javax.faces.convert.DoubleConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.Float and class javax.faces.convert.FloatConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.Integer and class javax.faces.convert.IntegerConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.Long and class javax.faces.convert.LongConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.Number and class javax.faces.convert.NumberConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added converter of type javax.faces.Short and class javax.faces.convert.ShortConverter
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added validator of type javax.faces.DoubleRange class javax.faces.validator.DoubleRangeValidator
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added validator of type javax.faces.Length class javax.faces.validator.LengthValidator
    07/06/05 23:48:10 [TRACE] ApplicationImpl - added validator of type javax.faces.LongRange class javax.faces.validator.LongRangeValidator
    07/06/05 23:48:10 [DEBUG] LifecycleFactoryImpl - Created Default Lifecycle
    07/06/05 23:48:10 [TRACE] LifecycleFactoryImpl - Created LifecycleFactory com.sun.faces.portlet.LifecycleFactoryImpl@1776f79
    07/06/05 23:48:11 [TRACE] LifecycleImpl - Created Lifecycle com.sun.faces.portlet.LifecycleImpl@bc9065
    07/06/05 23:48:11 [TRACE] LifecycleFactoryImpl - Added LifecycleId DEFAULT
    07/06/05 23:48:11 [TRACE] LifecycleFactoryImpl - Returned com.sun.faces.portlet.LifecycleImpl@bc9065 for lifecycleId DEFAULT
    07/06/05 23:48:11 Oracle Containers for J2EE 10g (10.1.3.1.1) initialized
    07/06/05 23:48:53 [TRACE] FacesPortlet - Begin FacesPortlet.init()
    07/06/05 23:48:53 [TRACE] FacesPortlet - End FacesPortlet.init()
    07/06/05 23:48:53 [TRACE] FacesPortlet - Begin FacesPortlet.render()
    07/06/05 23:48:53 [TRACE] FacesPortlet - Retrieved facesContextFactory com.sun.faces.portlet.FacesContextFactoryImpl@1c6395b
    07/06/05 23:48:53 [TRACE] FacesPortlet - Retrieved lifecycleFactory com.sun.faces.portlet.LifecycleFactoryImpl@1776f79
    07/06/05 23:48:53 [DEBUG] FacesPortlet - lifecycleId null
    07/06/05 23:48:53 [TRACE] LifecycleFactoryImpl - Returned com.sun.faces.portlet.LifecycleImpl@bc9065 for lifecycleId DEFAULT
    07/06/05 23:48:53 [TRACE] FacesPortlet - Retrieved lifecycle from lifecycleFactory com.sun.faces.portlet.LifecycleImpl@bc9065
    07/06/05 23:48:53 [TRACE] ExternalContextImpl - Created ExternalContext com.sun.faces.portlet.ExternalContextImpl@df8f81
    07/06/05 23:48:53 [TRACE] FacesContextFactoryImpl - Created FacesContext com.sun.faces.portlet.FacesContextImpl@19e7719
    07/06/05 23:48:53 [TRACE] FacesPortlet - Begin executing RenderResponse phase
    07/06/05 23:48:53 [DEBUG] LifecycleImpl - render(com.sun.faces.portlet.FacesContextImpl@19e7719)
    07/06/05 23:48:53 [TRACE] LifecycleImpl - restore(com.sun.faces.portlet.FacesContextImpl@19e7719,false)
    07/06/05 23:48:53 [DEBUG] ViewHandlerImpl - Created new view for /hello.jsp
    07/06/05 23:48:53 [DEBUG] ViewHandlerImpl - Locale for this view as determined by calculateLocale en_US
    07/06/05 23:48:53 [DEBUG] ViewHandlerImpl - RenderKitId for this view as determined by calculateRenderKitId HTML_BASIC
    07/06/05 23:48:53 [DEBUG] LifecycleImpl - Created new ViewRoot with View Id/hello.jsp
    07/06/05 23:48:53 [TRACE] LifecycleImpl - phase(RENDER_RESPONSE 6,com.sun.faces.portlet.FacesContextImpl@19e7719)
    07/06/05 23:48:53 [DEBUG] LifecycleImpl - Begin RenderResponsePhase
    07/06/05 23:48:53 [DEBUG] LifecycleImpl - About to render view /hello.jsp
    07/06/05 23:48:53 [DEBUG] ViewHandlerImpl - About to render view /hello.jsp
    07/06/05 23:48:53 [WARN] ViewHandlerImpl - Unable to determine FaceServlet mapping for servlet path 'null'.
    07/06/05 23:48:53 [DEBUG] ViewHandlerImpl - URL pattern of the FacesServlet executing the current request null
    07/06/05 23:48:53 [DEBUG] ViewHandlerImpl - Found no URL patterns mapping to FacesServlet
    07/06/05 23:48:53 [TRACE] ViewHandlerImpl - Before dispacthMessage to newViewId /hello.jsp
    07/06/05 23:48:53 [TRACE] ExternalContextImpl - dispatchMessage(/hello.jsp)
    07/06/05 23:48:53 [DEBUG] ExternalContextImpl - response content type text/html
    07/06/05 23:48:53 [TRACE] ApplicationImpl - Created component javax.faces.HtmlForm
    07/06/05 23:48:53 [TRACE] FormRenderer - Begin encoding component _id0
    07/06/05 23:48:53 [TRACE] ViewHandlerImpl - Action URL:wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-mode=wsrp%3Aview&wsrp-windowState=wsrp%3Anormal&wsrp-secureURL=false&wsrp-navigationParameters=&wsrp-navigationalState=com.sun.faces.portlet.VIEW_ID%3D%252Fhello.jsp/wsrp_rewrite
    07/06/05 23:48:53 [TRACE] ApplicationImpl - Created component javax.faces.HtmlCommandButton
    07/06/05 23:48:53 [TRACE] ButtonRenderer - Begin encoding component _id1
    07/06/05 23:48:53 [TRACE] ButtonRenderer - End encoding component _id1
    07/06/05 23:48:53 [TRACE] ApplicationImpl - Created component javax.faces.HtmlMessages
    07/06/05 23:48:53 [TRACE] MessagesRenderer - End encoding component _id2
    07/06/05 23:48:53 [TRACE] ViewHandlerImpl - Begin writing state to response for viewId/hello.jsp
    07/06/05 23:48:53 [TRACE] ViewHandlerImpl - End writing state to response for viewId/hello.jsp
    07/06/05 23:48:53 [TRACE] FormRenderer - End encoding component _id0
    07/06/05 23:48:53 [DEBUG] StateManagerImpl - Begin creating serialized view for /hello.jsp
    07/06/05 23:48:53 [DEBUG] StateManagerImpl - End creating serialized view /hello.jsp
    07/06/05 23:48:53 [TRACE] ViewHandlerImpl - After dispacthMessage to newViewId /hello.jsp
    07/06/05 23:48:53 [DEBUG] LifecycleImpl - End RenderResponsePhase
    07/06/05 23:48:53 [TRACE] LifecycleImpl - save(com.sun.faces.portlet.FacesContextImpl@19e7719,false)
    07/06/05 23:48:53 [TRACE] FacesPortlet - End executing RenderResponse phase
    07/06/05 23:48:53 [TRACE] FacesPortlet - End FacesPortlet.render()
    07/06/05 23:49:19 [TRACE] FacesPortlet - Begin FacesPortlet.processAction()
    07/06/05 23:49:19 [TRACE] ExternalContextImpl - Created ExternalContext com.sun.faces.portlet.ExternalContextImpl@1fee2b4
    07/06/05 23:49:19 [TRACE] FacesContextFactoryImpl - Created FacesContext com.sun.faces.portlet.FacesContextImpl@d5cfd6
    07/06/05 23:49:19 [TRACE] FacesPortlet - Begin Executing phases
    07/06/05 23:49:19 [DEBUG] LifecycleImpl - execute(com.sun.faces.portlet.FacesContextImpl@d5cfd6)
    07/06/05 23:49:19 [TRACE] LifecycleImpl - restore(com.sun.faces.portlet.FacesContextImpl@d5cfd6,true)
    07/06/05 23:49:19 [DEBUG] ViewHandlerImpl - Created new view for /hello.jsp
    07/06/05 23:49:19 [DEBUG] ViewHandlerImpl - Locale for this view as determined by calculateLocale en_US
    07/06/05 23:49:19 [DEBUG] ViewHandlerImpl - RenderKitId for this view as determined by calculateRenderKitId HTML_BASIC
    07/06/05 23:49:19 [DEBUG] LifecycleImpl - Created new ViewRoot with View Id/hello.jsp
    07/06/05 23:49:19 [TRACE] LifecycleImpl - phase(RESTORE_VIEW 1,com.sun.faces.portlet.FacesContextImpl@d5cfd6)
    07/06/05 23:49:19 [DEBUG] LifecycleImpl - Begin RestoreViewPhase
    07/06/05 23:49:19 [WARN] ViewHandlerImpl - Unable to determine FaceServlet mapping for servlet path 'null'.
    07/06/05 23:49:19 [DEBUG] ViewHandlerImpl - URL pattern of the FacesServlet executing the current request null
    07/06/05 23:49:19 [DEBUG] StateManagerImpl - Begin restoring view in session for viewId /hello.jsp
    07/06/05 23:49:19 [DEBUG] StateManagerImpl - Session Available, but View State does not exist for viewId: /hello.jsp
    07/06/05 23:49:19 [TRACE] LifecycleImpl - Creating new view '/hello.jsp'
    07/06/05 23:49:19 [DEBUG] ViewHandlerImpl - Created new view for /hello.jsp
    07/06/05 23:49:19 [DEBUG] ViewHandlerImpl - Using locale from previous view en_US
    07/06/05 23:49:19 [DEBUG] ViewHandlerImpl - Using renderKitId from previous view HTML_BASIC
    07/06/05 23:49:19 [DEBUG] LifecycleImpl - End RestoreViewPhase
    07/06/05 23:49:19 [TRACE] LifecycleImpl - save(com.sun.faces.portlet.FacesContextImpl@d5cfd6,true)
    07/06/05 23:49:19 [TRACE] FacesPortlet - End Executing phases
    07/06/05 23:49:19 [TRACE] FacesPortlet - End FacesPortlet.processAction()
    07/06/05 23:49:20 [TRACE] FacesPortlet - Begin FacesPortlet.render()
    07/06/05 23:49:20 [TRACE] ExternalContextImpl - Created ExternalContext com.sun.faces.portlet.ExternalContextImpl@179eb02
    07/06/05 23:49:20 [TRACE] FacesContextFactoryImpl - Created FacesContext com.sun.faces.portlet.FacesContextImpl@133e7a1
    07/06/05 23:49:20 [TRACE] FacesPortlet - Begin executing RenderResponse phase
    07/06/05 23:49:20 [DEBUG] LifecycleImpl - render(com.sun.faces.portlet.FacesContextImpl@133e7a1)
    07/06/05 23:49:20 [TRACE] LifecycleImpl - restore(com.sun.faces.portlet.FacesContextImpl@133e7a1,false)
    07/06/05 23:49:20 [TRACE] LifecycleImpl - End restore()
    07/06/05 23:49:20 [TRACE] LifecycleImpl - phase(RENDER_RESPONSE 6,com.sun.faces.portlet.FacesContextImpl@133e7a1)
    07/06/05 23:49:20 [DEBUG] LifecycleImpl - Begin RenderResponsePhase
    07/06/05 23:49:20 [DEBUG] LifecycleImpl - About to render view /hello.jsp
    07/06/05 23:49:20 [DEBUG] ViewHandlerImpl - About to render view /hello.jsp
    07/06/05 23:49:20 [WARN] ViewHandlerImpl - Unable to determine FaceServlet mapping for servlet path 'null'.
    07/06/05 23:49:20 [DEBUG] ViewHandlerImpl - URL pattern of the FacesServlet executing the current request null
    07/06/05 23:49:20 [DEBUG] ViewHandlerImpl - Found no URL patterns mapping to FacesServlet
    07/06/05 23:49:20 [TRACE] ViewHandlerImpl - Before dispacthMessage to newViewId /hello.jsp
    07/06/05 23:49:20 [TRACE] ExternalContextImpl - dispatchMessage(/hello.jsp)
    07/06/05 23:49:20 [DEBUG] ExternalContextImpl - response content type text/html
    07/06/05 23:49:20 [TRACE] FormRenderer - Begin encoding component _id0
    07/06/05 23:49:20 [TRACE] ViewHandlerImpl - Action URL:wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-mode=wsrp%3Aview&wsrp-windowState=wsrp%3Anormal&wsrp-secureURL=false&wsrp-navigationParameters=&wsrp-navigationalState=com.sun.faces.portlet.VIEW_ID%3D%252Fhello.jsp/wsrp_rewrite
    07/06/05 23:49:20 [TRACE] ButtonRenderer - Begin encoding component _id1
    07/06/05 23:49:20 [TRACE] ButtonRenderer - End encoding component _id1
    07/06/05 23:49:20 [TRACE] MessagesRenderer - End encoding component _id2
    07/06/05 23:49:20 [TRACE] ViewHandlerImpl - Begin writing state to response for viewId/hello.jsp
    07/06/05 23:49:20 [TRACE] ViewHandlerImpl - End writing state to response for viewId/hello.jsp
    07/06/05 23:49:20 [TRACE] FormRenderer - End encoding component _id0
    07/06/05 23:49:20 [DEBUG] StateManagerImpl - Begin creating serialized view for /hello.jsp
    07/06/05 23:49:20 [DEBUG] StateManagerImpl - End creating serialized view /hello.jsp
    07/06/05 23:49:20 [TRACE] ViewHandlerImpl - After dispacthMessage to newViewId /hello.jsp
    07/06/05 23:49:20 [DEBUG] LifecycleImpl - End RenderResponsePhase
    07/06/05 23:49:20 [TRACE] LifecycleImpl - save(com.sun.faces.portlet.FacesContextImpl@133e7a1,false)
    07/06/05 23:49:20 [TRACE] FacesPortlet - End executing RenderResponse phase
    07/06/05 23:49:20 [TRACE] FacesPortlet - End FacesPortlet.render()

    I'm missing some things in your portlet.xml deployment descriptor.
    It looks like your application doesn't make use of a JSF binding layer, so it should be enough to initialize a Faces lifecycle listener like this:
    <init-param>
    <name>DefaultPage.view</name>
    <value>/index.jspx</value>
    </init-param>
    <init-param>
    <name>BridgeLifecycleListeners</name>
    <value>
    oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener
    </value>
    </init-param>
    The DefaultPage.view parameter specifies the default page of the application to use as the View mode for the portlet. Its location is relative to the web-app-context-root and always start with a /.
    The BridgeLifecycleListeners parameter specifies the filter classes to use. You must ensure that your portlet.xml file is configured to match the filters specified in your web.xml file. If you do not have the proper classes defined in portlet.xml, then you will receive a missing class error. You specify the classes in the BridgeLifecycleListeners init-param in your portlet.xml file:
    <init-param>
    <name>BridgeLifecycleListeners</name>
    <value>listener_class_n[,listener_class_n+1,...]</value>
    </init-param>
    For example, suppose that your application includes AdfFacesFilter filter in its web.xml:
    <filter>
    <filter-name>adfFaces</filter-name>
    <filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
    </filter>
    You would then need to include the following class in your portlet.xml:
    <init-param>
    <name>BridgeLifecycleListeners</name>
    <value>oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener
    </value>
    </init-param>
    Similarly, suppose that ADFBindingFilter filter is defined in web.xml as follows:
    <filter>
    <filter-name>adfBindings</filter-name>
    <filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
    </filter>
    You would then need to include the following in your portlet.xml:
    <init-param>
    <name>BridgeLifecycleListeners</name>
    <value>oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener,
    oracle.portlet.server.bridges.jsf.adf.BindingFacesBridgeLifecycleListener
    </value>
    </init-param>

  • JSF/ADF Application Visual Drawing Tool Integration

    Can any one recommend a visual drawing tool that can be integrated into a JSF/ADF application that is data aware (something like Visio)? I need to generate an UI with printed outputs that is very graphically rich and is based on underlying data. I believe I could use Viso's SDK but, would like to use a more Java friendly tool.
    Thanks.

    Hi,
    These concepts are quite long to ellaborate (a few chapters long on the Developer Guide :) ). Here are my thoughts about your questions, i'll try my best:
    1) All queries to the database like this one you have to do through a View Object. In your project, you can select new -> view Object, and type in your SQL in the text area. In this particular case, you can do something like "SELECT * FROM user WHERE username = :uName". Then in the next screen you define a Bind Variable with the same name, in this case "uName". Then you have to create an Application Module in the same way (new -> Application Module), binding your new View Object to it. As soon as you do it, you will see that your Data Control Palette on the right side of JDev has a new entry. From there it's a matter of dragging and dropping the methods on the UI.
    2) In a similar way, all updates to the DB go through View Objects. As you used the wizard, you will notice that there are some Entity Objects in your project, one for each table in the DB. You can create a View Object based on one or more Entity Objects to allow updates. Whenever you change any attribute on the VO that maps to an attribute in an EO this change is posted to the DB. This said, you can simply drag and drop the View Object from the Data Control Palette to your page and it will retrieve and update data.
    There are tons of concepts behind all i said, this is only a glimpse of what ADF BC and Faces do. I recommend reading the Dev Guide that comes with Jdev, you can find it on the menu (help -> table of contents) and also do some tutorials (help -> start page) that are the simplest things you can do with ADF.
    Hope it Helps!
    Thiago

  • Intention of JSF (web applications or web sites?)

    Hi,
    I want to write a web application that has a similar look and feel to todays desktop applications. Thus I don't need a typical web site look (title on the top, navigation bar etc.) but a more desktop look (a menu bar on the top, a status bar on the bottom etc.)
    Although I like JSF I am not sure, if this framework is the best for this job. Thus I wanted to ask, if you can tell me the intention of JSF:
    Is it to build web sites or is it also to build web applications without the typical web site look and feel? With JSF both is possible of course. And with the adequat JavaScript library on the client side it looks very nice (e.g. ExtJS).
    But was this one of the intentions of JSF? Or was it primarily to build usual web sites with a page flow etc.? And maybe another framework is better for what I am going to do?
    I only don't want to use a JSF for something it has not been made for.
    Greetings
    Mike

    wpafbuser1 wrote:
    I don't see what the point is in making a distinction between web sites and web apps. Are you trying highlight the difference between say Apache vs. JBoss?I'm not sure what you mean by "the difference between say Apache vs. JBoss" but here's what I meant. When I think a web site, I think of a site where the interaction tends to be more reading, clicking from page to the next, etc., like, for example a news site. With a web app, I tend to think of statefulness, business processes, etc, like an online accounting system, content management system, etc. The distinction is probably pretty academic, though...
    Well you need to decide if you're making a simple web site that serves static content or i fyou're making an application with a GUI. There's a big difference.Exactly.
    For a desktop-like application, I say web browsers in general are a bad choice. I'd use Web Start if possible and write a GUI. In any case, Hehe. That's a completely different (though very valid argument(
    AJAX is the last thing I'd use (now you're writing HTML, XML, AJAX, Java, etc..). Echo2 provides 1 single API rather than hacking several. Flex, while I haven't used much, seems to also provide a much cleaner solution. Fair enough, and that's not an uncommon opinion. I'm probably somewhere in the middle, but, for what I've been asked to do since the web 2.0 hype started, Ajax has been sufficient. I'm not Echo2 expert, but isn't that just an HTML/JS interface with a Java backend with Ajaxy operations? For really, really complex and dynamic UIs Flex (or JavaFX :) might be more appropriate.
    Again, I haven't used JSF so I can't say much about it. But I see lots of projects all the time and JSF seems to be slow for adoption so far. Just my personal experience.Hmm. I've used it for about three years now, fwiw, and really, really like it. Which probably isn't worth much. I will admit, though, that JSF isn't always the right tool (thus the discussion here). As far as adoption goes, it seems to be growing much faster than the other frameworks out there, but I may have tinted glasses... ;)

  • 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>

  • Error while executing SAP E-Commerce Application with UME system

    When attempting to login to the B2B application (http://hostname:port/b2b/init.do), we receive the following error:
    Error while executing SAP E-Commerce Application with UME system; try again to log on. If the problem persists, call our hotline.
    I checked the defaultTrace log and every time the login page is called the following messages are displayed:
    #System.err#sap.com/crm~b2b#System.err#Guest#0##n/a##70cf2ba0756b11df86050003ba827311#SAPEngine_Application_Thread[impl:3]_0##0#0#Error##Plain###com.sap.engine.services.servlets_jsp.server.exceptions.WebIllegalStateException: The output is committed.
    #System.err#sap.com/crm~b2b#System.err#Guest#0##n/a##70cf2ba0756b11df86050003ba827311#SAPEngine_Application_Thread[impl:3]_0##0#0#Error##Plain###  at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:354)#
    another 40 lines of similar text
    When a login is attempted, the following messages are appended to the trace file:
    #tracing.isa.runtime#sap.com/crm~b2b#tracing.isa.runtime#Guest#0##n/a##f6384ec0756b11df81380003ba827311#SAPEngine_Application_Thread[impl:3]_0##0#0#Debug##Plain###[actionxecution]='begin' [actionclass]='com.sap.isa.user.action.PrepareLoginBaseAction' [path]='/preparelogin'#
    tracing.isa.runtime#sap.com/crm~b2b#tracing.isa.runtime#USER1#7439##n/a##f6384ec0756b11df81380003ba827311#SAPEngine_Application_Thread[impl:3]_0##0#0#Debug##Plain###[actionxecution]='end' [actionclass]='com.sap.isa.user.action.PrepareLoginBaseAction' [path]='/preparelogin' [forward]='/login.do' [exectime]='42'#
    #tracing.isa.runtime#sap.com/crm~b2b#tracing.isa.runtime#USER1#7439##n/a##f6384ec0756b11df81380003ba827311#SAPEngine_Application_Thread[impl:3]_0##0#0#Debug##Plain###[jcofuncionexecution]='begin' [funcname]='CRM_ISA_SSO_LOGIN_CHECKS' [ashost]='<hostname>' [sysid]='CRM'#
    #tracing.isa.runtime#sap.com/crm~b2b#tracing.isa.runtime#USER1#7439##<hostname>_CJM_678801250#USER1#f6384ec0756b11df81380003ba827311#SAPEngine_Application_Thread[impl:3]_0##0#0#Debug##Plain###[jcofunctionexecution]='end' [funcname]='CRM_ISA_SSO_LOGIN_CHECKS' [ashost]='<hostname>' [sysid]='CRM' [exectime]='12'#
    I have modified the userid and hostname in the above trace output.
    Does anyone know how we can debug this issue further?
    Thanks,
    Setu

    Hi,
    Are you using UME login type for your B2B Scenario?
    In your B2B XCM setting have you selected UME related login type?
    eCommerce Developer

  • "Application not available" page

    We have a need to display an "application not available" page when a person navigates to the site outside the normal hours of operations.
    One way to do this is to have the index.html route to a JSF page which checks the time, then either redirects to the application, or if outside of operating hours displays the "not available" message.
    Is there a way that this can be solved with the faces-config.xml file? I would like to move this logic out of the page.
    thanks
    d1

    Two options came up:
    - servlet filter
    - a rule in the apache web server

  • ANNOUNCE:  Speed up your Data-Driven JSF/Seam Application by Two Orders of

    Hello,
    I am pleased to announce a new article on JSF Central. In the second installment of this two-part article, Dan Allen continues his discussion of some common performance problems you may encounter when using JSF components, Seam components, and the EL. You'll learn about the set of best practices for eliminating them that led to an improvement of two orders of magnitude in the performance of his application.
    Here is an excerpt:
    In the first part of this article, I began briefing you on optimizations I made to maximize the responsiveness of a JSF application that I developed out in the field. I cited performance problems caused by casually accessing components from a JSF view, then presented a set of best practices to eliminate this unnecessary overhead. Despite the progress made by the end of the first part, you had not yet witnessed the two orders of magnitude in performance improvement that was promised.
    In this part, the additional gains will be achieved by leveraging partial page rendering-provided by the RichFaces JSF component library and by slimming the response. Partial page rendering cuts out the overhead of rerendering the entire page after each user interaction, which turns out to be the real bottleneck in most traditional web applications, and instead redraws only the areas of the page that have changed. Naturally, you want the replacement HTML source to be as condensed as possible. These optimizations allow the responsiveness of a web application to measure up to its desktop counterpart.
    Read the full article here: [Speed up your Data-Driven JSF/Seam Application by Two Orders of Magnitude – Part 2|http://www.jsfcentral.com/articles/speed_up_your_jsf_app_2.html]
    Kito D. Mann -- Author, JavaServer Faces in Action
    http://twitter.com/kito99  http://twitter.com/jsfcentral
    http://www.virtua.com - JSF/Java EE consulting, training, and mentoring
    http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info
    +1 203-404-4848 x3

    Hi,
    how can we ensure that every body define the id in jsf page. we are using the jsf 1.0 and I think this artical for jsf 1.2
    with IBM extended JFS lib.
    if we don't want to change the code of full application,is it possible to speed up the render time with the help of framework or some other way.

Maybe you are looking for

  • Print link on report shows 'no data found' when LOV has not been used

    Hi all, I have a simple standard report that queries data based on the value in a Select List. This Select List allows users to pick a year for the report. The LOV has a default of TO_CHAR(SYSDATE,'YYYY'). If I open the page using the associated Tab

  • Calling a .rdf report from a link on a apex report column

    Hi, I want to call a xxx.rdf report from a link on a apex report column. Can anyone help me on this ? Best regards, JCN

  • Submit Program without Selection-Screen

    Hi,     I am submitting the SAP Standard program, which contains selections screen.     i am passing values to standard program using via-selection screen.     Is there any way to suppress / skip the selection-screen what is appearing after submit Th

  • TLF have a big size

    Dears, i use TLF in flash files, it make the file has a big size. for example classic Text size is 2-3 k and TLF size is 56 k, sure without the external tfl file which is exported during the publish. So, How can i reduce and control this difference i

  • Blonde needs help please with B540p

    I have just bought the Lenovo B540P and loved it, but last night when I clicked on the google icon the recovery come up then all OK. I have only had this two days, now this morning when trying to close it would not close and I could not get onto the