Oracle ADF inputText refreshing problem in subform

Hi guys.
There are inputText, outputText and inputDate components in the form's of in a pop-up window(twitter bootstrap).
This components is in a subform.
The current values of the outputText and inputDate components (in managed bean) are reflected value in partial update. However the current values of the inputText components (in managed bean) aren't reflected value in partial update.
Components appear to be empty.
My code:
<af:panelFormLayout partialTriggers="::i1:DetailButton1 ::i2:DetailButton2 ::i3:DetailButton3">
<af:panelLabelAndMessage rendered="#{null != sessionScope.userID}" label="#{viewcontrollerBundle[&apos;lang.baslik&apos;]}">
<af:inputText value="#{detailBean.title}" columns="65" contentStyle="font-size:10pt" simple="true"
shortDesc="#{viewcontrollerBundle[&apos;lang.baslik&apos;]}" id="it2"/>
</af:panelLabelAndMessage>
<af:message for="it2"/>
<af:inputDate value="#{detailBean.createDate}" readOnly="true" id="id1" contentStyle="font-size:10pt;"
label="#{viewcontrollerBundle[&apos;lang.olusturulmaTarihi&apos;]}">
<af:convertDateTime pattern="dd/MM/yyyy"/>
</af:inputDate>
<af:inputDate value="#{detailBean.editDate}" contentStyle="font-size:10pt" readOnly="true" id="id2"
label="#{viewcontrollerBundle[&apos;lang.degistirilmeTarihi&apos;]}">
<af:convertDateTime pattern="dd/MM/yyyy"/>
</af:inputDate>
<af:inputText label="#{viewcontrollerBundle[&apos;lang.goruntulenme&apos;]}" contentStyle="font-size:10pt"
value="#{detailBean.totalView}" readOnly="true" id="it4" />
<af:panelLabelAndMessage rendered="#{null == sessionScope.userID}" label="#{viewcontrollerBundle[&apos;lang.icerik&apos;]}">
<af:outputText value="#{detailBean.content}" inlineStyle="font-size:10pt"/>
</af:panelLabelAndMessage>
<af:panelLabelAndMessage rendered="#{null != sessionScope.userID}" label="#{viewcontrollerBundle[&apos;lang.icerik&apos;]}">
<af:inputText value="#{detailBean.content}" shortDesc="#{viewcontrollerBundle[&apos;lang.icerik&apos;]}"
columns="67" rows="10" id="ot9" contentStyle="font-size:10pt" simple="true" />
</af:panelLabelAndMessage>
<af:message for="ot9"/>
</af:panelFormLayout>
My jDev version 11.1.2.3.0
What is the reason for this problem?
Edited by: hakdogan on Nov 22, 2012 2:59 PM

I can see partialTriggers only on the parent component i.e panelFormLayout .. can you try puttin them on individual inputTexts which won't refresh and check ?

Similar Messages

  • JsCookMenu - Problem with display of Menu (Oracle ADF)

    I am using Oracle ADF with JSF components. The jsCookMenu displays the menu along with "x" representing images on the right and left side of the menu label. Please suggest me how to remove this icon from the menu display. Please find the code below.
    <t:jscookMenu layout="hbr" theme="ThemeOffice" styleLocation="/css/jscookmenu" >
    <t:navigationMenuItem id="nav_1" itemLabel=" Menu1 " >
    <t:navigationMenuItem id="nav_1_1" itemLabel="Menu1.1" > </t:navigationMenuItem>
    </t:navigationMenuItem>
    </t:jscookMenu>
    I am getting this problem with IE when the application starts. When I do ctrl+refresh, this issue doesnot occur. Also, with Firefox I am not getting any problem. I need to know how to fix this issue with IE when the application starts. Any suggestions on this would be of great help.

    User, please always tell us your jdev version.
    The interesting part is what you did not tell us.
    Kindly let me know as to why Iam not to replicate the issue in my earlier WLS.Please find my code means hte code has once run OK and now after you did some changes doesn't any longer. Querstion: what did you change, not oly to the code but to the environment.
    Timo

  • Oracle ADF 11g – Authentication using Custom ADF Login Form Problem

    Hi Guys,
    I am trying to Authenticate my adf application using custom Login Form.
    following this..
    http://www.fireboxtraining.com/blog/2012/02/09/oracle-adf-11g-authentication-using-custom-adf-login-form/#respond
    But my Login Page is not Loading.I think its sending request in chain.my jdev version is 11.1.1.5.Any Idea.
    Thanks,
    Raul

    Hi Frank,
    I deleted bounded code and In another Unit Test I created a simple login.jspx page and applied form based authentication but still facing same problem means something wrong in starting.
    My login.jspx page is
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
      <jsp:directive.page contentType="text/html;charset=UTF-8"/>
      <f:view>
        <af:document id="d1" >
          <af:form id="f1" >
            <af:panelFormLayout id="pfl1">       
              <af:inputText label="USERNAME" id="it1"
                            />       
              <af:inputText label="PASSWORD" id="it2"
                              />
              <af:commandButton text="LOG IN" id="cb1" />
              <f:facet name="footer">       
              </f:facet>                 
            </af:panelFormLayout>
          </af:form>
        </af:document>
      </f:view>
    </jsp:root>
    Don't know wht real problem is

  • Oracle ADF VO old value problem.

    I have a web application developed Oracle ADF and Jdev 11.1.2.3.0. I have a button in my page which name is "Complaint". When user click the button, it invokes a method on ApplicationModuleImpl via a ManagedBean.
    public void clearAndExecute(){
    getCardView1().clearCache();
    getUser1View1().clearCache();
    getReplyView1().clearCache();
    getCardView1().executeQuery();
    getUser1View1().executeQuery();
    getReplyView1().executeQuery();
    public void increaseComplaint(BigDecimal cardID) {
    clearAndExecute();
    ViewObjectImpl vo = getCardView1();
    Integer complaintCount;
    BigDecimal userID=null;
    Row[] rows = vo.findByKey(new Key(new Object[] { cardID }),1);
    if (rows != null && rows.length > 0) {
    Row row = rows[0];
    complaintCount = (Integer) row.getAttribute("CardComplaintcount");
    ++complaintCount;
    userID=(BigDecimal) row.getAttribute("UserUserid");
    row.setAttribute("CardComplaintcount", complaintCount);
    clearAndExecute();
    this.getDBTransaction().commit();
    clearAndExecute();
    This method gets the "CardComplaintcount" column value in CardView1 and increase +1 it. and commit Transaction. My method runs normally but i have an issue.
    For example scenerio ; Initially, In column "CardComplaintcount" value is 5. And i open two web page different browser. Then, i clicked "Complaint button" 3 times. I looked at the mysql db, its value 8 it is OK. And then, i turn to other opened browser and clicked "Complaint" button one time and looked at the mysql db, and size is 6. it must be 8+1=9. It is likely refresh problem or not, How can handle this problem.
    Edited by: ramonypp on 27.Kas.2012 18:29

    Kdario, i know that, i can do a jdbcl call and get last result from DB. But, What is here ADF business components, Entities and View Objects, Rows. More jdbc call can make our application performance down. Due to this reason, i'm trying to solve this problem with entity objects or view objects.
    I did some news. Overriding the my entity object's lock method like below;
    try {
    super.lock();
    catch (RowInconsistentException ex) {
    this.refresh(REFRESH_WITH_DB_FORGET_CHANGES | REFRESH_CONTAINEES);
    super.lock();
    When it encounter with Optimistic lock exception (RowInconsistentException ) fetchs the new results from db, and refresh the entity. But i have only problem too. When i invoke the "ComplaintCount" button in other page, first click it retrives last value from DB, and second click, it counts complaintcount +1. I dont know Why first time id doesnt count +1,

  • Problem in Oracle ADF with JDeveloper. JBO25001

    Hello All,
    I have to develop an application using oracle ADF and JDeveloper. To famalirize my self with the technology, I downloaded the Oracle ADF tutorial "Tutorial for Forms/4GL developers" from Oracle site.
    I am following this tutorial line by line, but still getting an error. I have created
    1) Entities
    2) Associations
    3) Views
    4) ViewLinks
    5) Application Module
    all by wizard.
    After I added my view and view link into the application module and tried to test it it gave me the following error.
    (oracle.jbo.common.ampool.ApplicationPoolException) JBO-30003: The application pool (.10E97657A25) failed to checkout an application module due to the following exception:
    ----- LEVEL 1: DETAIL 0 -----
    (oracle.jbo.JboException) JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.NameClashException, msg=JBO-25001: Name ServiceRequestsTable of object type Attribute already exists
    ----- LEVEL 2: DETAIL 0 -----
    (oracle.jbo.JboException) JBO-29000: Unexpected exception caught: oracle.jbo.NameClashException, msg=JBO-25001: Name ServiceRequestsTable of object type Attribute already exists
    ----- LEVEL 3: DETAIL 0 -----
    (oracle.jbo.NameClashException) JBO-25001: Name ServiceRequestsTable of object type Attribute already exists
    I changed the names of each object but still the problem persisted.
    If any body can help me on this I will really appreciate it. Thanx a ton in advance.
    I have downloaded and using the latest JDeveloper version 10.1.3.1.0.3984
    Please help me on this.
    Regards,
    Saket Maheshwary

    Saket,
    Did you ever get this situation resolved?
    I'm working thru the tutorial myself and get the same error except the object is Product.
    Do you have any clues?
    Thanks,
    Lonnie Spears

  • Oracle ADF: ORA-01460 4000 chars problem

    Hello,
    please excuse my bad english. I hope you will understand what I mean.
    I hope I'am right here with my Problem:
    I hava a web application written with Oracle ADF in jDeveloper. A View-Object contains the SQL-Statemant to search with a bind variable (Type: String) and uses Oracle Text.
    WHERE contains(Index, :mySearchString, 1) > 0
    Java generates the String (Type: String) that might have a length of 12 chars, 1234 chars or maybe something about 4000 chars.
    If the String is below 4000 chars, there is no problem.
    But if he exceeds the 4000 chars I get a exception with the message "ORA-01460:     unimplemented or unreasonable conversion requested".
    How to execute this statement with a String longer than 4000 chars?
    Could someone help me?
    I am at my wit's end.
    Thank you!
    DB: Oracle 10g Enterprise Edition (10.1.0.4.2)
    JDBC Version: 10.1.0.5
    Greetings
    One

    Thank you! Good to know that it isn't impossible to enhance this.
    I wrote a sql function:
    create or replace function mysearch(p_arg varchar2)return sys_refcursor is
    l_resultset sys_refcursor;
    begin
    open l_resultset for select ... from ... where contains(attribut, p_arg);
    return l_resultset;
    end;
    and create a View-Object. This View-Object has the follwing SQL-Statement:
    SELECT mysearch(:p_arg) AS MY_SEARCH FROM DUAL
    but no attributes! And the Object which I get has only 1 row. It should contains about 9000.
    And I get anyway the message "ORA-01460:     unimplemented or unreasonable conversion requested".
    In a PL/SQL context varchar2 can be 32KB!? Or not?
    Is this a ADF Problem? :-( (I hope so! If not: SORRY)

  • Oracle ADF refresh as deferred does not execute query on page load

    In the oracle ADF page I have two panel boxes. (Oracle ADF 11.1.1.4)
    a) Personal information panel box with PanelFormLayout (PersonalInfoViewObj) - ReadOnly View Object
    b) Address information panel box with Table (AddressInfoViewObj) - Read Only View Object
    For the iterators in a) and b) I have kept refresh condition as deferred and cacheResult=false. Also in b) for af:table, I have kept contentDelivery="immediate"
    When page loads it fires SQL query for a) and populate the data in Personal information panel box. However for b) it does not execute the SQL query and the data is not getting populated ( in AddressInformation panel with the tables. Please note data is there in the DATABASE......)
    Becasue with the refresh as deferred it was not executing the sql query for Panel b) (panel with Table and table iterator). I have tried refresh as always and refresh ifNeeded/renderModel/prepareModel however in that case it is executing the SQL query two times (twice).
    Please let me know the best way to fix this issue.

    Hi,
    I think you need a method in an application module to init your data.
    In your AM : create a method like :
    public void init(){
    getViewObject().executeQuery();
    }In your adfc-config.xml create a methodCall from this method and a "control flow case" from the methodCall to your page.
    and keep refresh as "deferred " in your pageDef.
    Clément

  • Oracle.adf.view.rich.pprNavigation.OPTIONS on give problem with servlets

    I recentrly fix ADF_FACES-60058 using in web.xml:
    <context-param>
    <param-name>oracle.adf.view.rich.newWindowDetect.OPTIONS</param-name>
    <param-value>on</param-value>
    </context-param>
    and now bc this change, when i call a sevlet using ajax.. all my servlets stop working...
    =( This mean this is not good fix...

    Hi i am getting now after fix problem with my servlet( Delete servlet and use Backing bean instead)
    javax.servlet.ServletException: java.lang.InternalError: name is too long to represent
    at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:266)
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:473)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:141)
    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:685)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:261)
    =/

  • Oracle ADF - Refresh quick query for a table in the pop up.

    Hi,
    I am using Oracle jDev 11.1.1.4.0
    In my application I have a Find button in jspx.
    Onclick of Find button, a popup opens.
    When I search for a record by name in QuickQuery, suppose - I entered name as jon.
    It gives me the correct result.
    Now when I close the pop up and again click on Find button, that previous search remains as it is in the pop up
    and also the previous criteria in quick query search region as "jon".
    I have changed the refresh property of iterator(of table in popup) in pageDef
    But still not working...
    How to refresh that search region for every subsequent Find click.
    Appreciate your help.
    Thanks,
    Madhav

    do u changed refresh > ifneeded or always.
    user.
    r u luking for partially page rendering.
    by using ppr. we can refresh.
    if so.
    http://www.adftips.com/2010/10/adf-ui-refreshing-page-or-region.html
    http://biemond.blogspot.com/2007/11/how-to-refresh-region-in-jdeveloper-11g.html
    Re: ADF Region Interaction
    Edited by: Erp on Sep 27, 2011 4:37 AM
    Edited by: Erp on Sep 27, 2011 4:42 AM

  • Stretching problem in Oracle ADF..

    Hi All...
    Oracle ADF Inline Frame is not stretching properly. Any solution...
    The following code for your reference...
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document id="d1">
    <af:form id="f1">
    <af:panelStretchLayout id="rengacont1" styleClass="AFStretchWidth"
    startWidth="0px" endWidth="0px" topHeight="0px"
    bottomHeight="0px" dimensionsFrom="children">
    <f:facet name="center">
    <af:panelSplitter orientation="horizontal" splitterPosition="400"
    id="jsffPanSpt"
    dimensionsFrom="children">
    <f:facet name="first">
    <af:panelStretchLayout id="psl0" startWidth="0px" endWidth="0px"
    topHeight="0px" bottomHeight="0px"
    styleClass="AFStretchWidth"
    dimensionsFrom="children">
    <f:facet name="center">
    <af:group id="rengasamygroup1">
    <af:chooseDate id="cd1"/>
    <af:chooseColor id="cc1"/>
    <af:image source="/Visit-Srirangam-Temple-in-Trichy.jpg"
    id="i1"/>
    </af:group>
    </f:facet>
    </af:panelStretchLayout>
    </f:facet>
    <f:facet name="second">
    <af:panelStretchLayout id="pgHelp" startWidth="0px" endWidth="0px"
    topHeight="0px" bottomHeight="0px"
    styleClass="AFStretchWidth">
    <f:facet name="center">
    <af:inlineFrame source="http://www.google.com" id="jsffILFrame"
    inlineStyle="border-color:Navy;border-width:thin;border-style:solid;"
    shortDesc="Help"/>
    </f:facet>
    </af:panelStretchLayout>
    </f:facet>
    </af:panelSplitter>
    </f:facet>
    </af:panelStretchLayout>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>
    Thanks & Regards,
    Vass Lee

    Hi Vass,
    please use the proper tags so that it will be easy to understand.
    thanks

  • Implementing Internationalization in Oracle ADF, small problem

    Hi all i have simple question,
    i cant internationalization Search and Select popup dialog.
    I read all document about Implementing Internationalization in Oracle ADF and cant see where are make mistake.
    Any way i did:
    Create Java class in view project:
    public class BLAFBundle_sr extends ListResourceBundle {   
    public Object[][] getContents()
    return contents;
    static final Object[][] contents = {
    {"SEARCH_TEXT", "Pretraga"},
    {"SIMPLE_SEARCH_TEXT", "Prosta pretraga"},
    {"ADVANCED_SEARCH_TEXT", "Napredna pretraga"}
    Set faces-config as
    <locale-config>
    <default-locale>sr</default-locale>
    <supported-locale>sr</supported-locale>
    </locale-config>
    <resource-bundle>
    <base-name>SistemskeKlase.BLAFBundle_sr</base-name>
    <var>sr</var>
    </resource-bundle>
    Set my internet explorer on sr language,
    Set view project to use Automaticly sync bundle
    and default bundle name as SistemskeKlase.BLAFBundle_sr
    And nothing happened after building and running project

    I think you are using incorrect resource string name in your method
    static final Object[][] contents = {
    {"SEARCH_TEXT", "Pretraga"},
    {"SIMPLE_SEARCH_TEXT", "Prosta pretraga"},
    {"ADVANCED_SEARCH_TEXT", "Napredna pretraga"}
    }I can't find these strings SEARCH_TEXT,SIMPLE_SEARCH_TEXT,ADVANCED_SEARCH_TEXT in Selectors for Skinning Fusion's ADF Faces Components
    http://docs.oracle.com/cd/E21764_01/apirefs.1111/e15862/toc.htm

  • ADF: Tree Refresh after Expanding a node. Please Frank have a look!

    About this post:
    Re: ADF: Tree Refresh after Expanding a node
    Frank answered that he doesn't notice that behavior. I found out that this happens if an appication uses a custom skin.
    In SRDemoSampleADFBC, SRManage.jspx (Management from menu), if you make the explorer window small enough not to cover the whole tree, you can notice this (the page jumps to the top).
    Now if you change in adf-faces-config.xml the "skin-family" tag to "oracle", you will see that the tree component has changed (it has no triangle icons why this happens) and the page doesn't refresh.
    Minas

    It seems that there's more to the tree expansion icon than the skin definition. We're using the minimal skin and ADF puts out a special character to represent the disclosure symbol (which by the way, renders differently on IE6, than IE7, than Safari or Firefox on Mac). However, switching to the Oracle skin, the disclosure symbol comes out as a full-on image (triangle including the +). We have found this frustrating because the triangles seem not sufficiently suggestive to our users - but switching to the Oracle skin has other issues with white-on-white text.
    But in any case, the tree refresh after node expansion is another annoyance as I described in the other thread linked here (including URL to see problem in action).
    Cheers, Mark

  • Oracle.adf.controller.activity.ActivityLogicException: ADFC-02013: Unable to get metadata for activity

    Hello,
    I am new to ADF, I am trying to learn how to navigate from one page to another, the code that I have is simple, but it is not working, I specified the control flow rules in the adfc-config.xml and I even tried to specify the navigation rules in the faces-config.xml file, but it doesn't matter if I do it in one configuration file or another I get the same error.  This is my first time working with ADF, I don't have formal training, just some video tutorial that I have seen on internet.  I have previous experience with JSF, so I feel more comfortable writing the code for my program than using all the graphical tools (at least at this moment)
    Any help to solve this problem will be highly appreciated.
    This is my page1.jsf  code:
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE html>
    <f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich" xmlns:h="http://java.sun.com/jsf/html">
        <af:document title="page1.jsf" id="d1" binding="#{backingBeanScope.backing_page1.d1}">
            <af:form id="f1" binding="#{backingBeanScope.backing_page1.f1}"></af:form>
        </af:document>  
        <h:head>
            <title>First JSF Example</title>
        </h:head>   
        <h:body>
            <h3>ADF Hello World Example</h3>
            <h:form>
                What's your name?
                <h:inputText value="#{backingBeanScope.backing_page1.message}"></h:inputText>
                <h:commandButton value="Welcome Me" action="#{backingBeanScope.backing_page1.processPage1}"></h:commandButton>
            </h:form>
        </h:body>   
    </f:view>
    This is my backing bean for page1:
    package view.backing;
    import oracle.adf.view.rich.component.rich.RichDocument;
    import oracle.adf.view.rich.component.rich.RichForm;
    public class Page1 {
        private RichForm f1;
        private RichDocument d1;
        private String message;
        public void setF1(RichForm f1) { this.f1 = f1; }   
        public RichForm getF1() {return f1;}   
         public void setD1(RichDocument d1) {this.d1 = d1;}
        public RichDocument getD1() {return d1;}
        public void setMessage(String msg) { this.message= msg;  }
        public String getMessage() { return this.message; }
        public String processPage1()
            System.out.println("++++++++++++++++++++++++++++++++++++++++++++++move to next page");
            return "success";   
    This is my adfc-config.xml file:
    <?xml version="1.0" encoding="UTF-8" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <control-flow-rule id="__5">
        <from-activity-id>page1.jsf</from-activity-id>
        <control-flow-case id="__6">
          <from-action>#{backingBeanScope.backing_page1.processPage1}</from-action>
          <from-outcome>success</from-outcome>
          <to-activity-id>page2.jsf</to-activity-id>
        </control-flow-case>
      </control-flow-rule>
      <managed-bean id="__2">
        <managed-bean-name>backing_page1</managed-bean-name>
        <managed-bean-class>view.backing.Page1</managed-bean-class>
        <managed-bean-scope>backingBean</managed-bean-scope>
        <!--oracle-jdev-comment:managed-bean-jsp-link:1page1.jsf-->
      </managed-bean>
      <managed-bean id="__1">
        <managed-bean-name>backing_page2</managed-bean-name>
        <managed-bean-class>view.backing.Page2</managed-bean-class>
        <managed-bean-scope>backingBean</managed-bean-scope>
        <!--oracle-jdev-comment:managed-bean-jsp-link:1page2.jsf-->
      </managed-bean>
    </adfc-config>
    Finally this is my page2.jsf
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE html>
    <f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"  xmlns:h="http://java.sun.com/jsf/html">
        <af:document title="page2.jsf" id="d1" binding="#{backingBeanScope.backing_page2.d1}">
            <af:form id="f1" binding="#{backingBeanScope.backing_page2.f1}"></af:form>
        </af:document>
        <!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_page2-->
        <h:body>
            <h3>ADF Hello World Example PAGE2</h3>  
        </h:body>     
    </f:view>
    This is the error that I get when I push the button on page1 and I try to navigate to page 2:
    Target URL -- http://127.0.0.1:7101/EcatsADF12c-ViewController-context-root/faces/page1.jsf
    <org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl> <ViewHandlerImpl> <_checkTimestamp> <TIMESTAMP_CHECKING_ENABLED_SHOULDNOT_IN_PRODUCTION>
    <Apr 22, 2015 4:34:43 PM CDT> <Warning> <Socket> <BEA-000449> <Closing the socket, as no data read from it on 127.0.0.1:57,015 during the configured idle timeout of 5 seconds.>
    <Apr 22, 2015 4:34:43 PM CDT> <Warning> <Socket> <BEA-000449> <Closing the socket, as no data read from it on 127.0.0.1:57,014 during the configured idle timeout of 5 seconds.>
    <Apr 22, 2015 4:34:43 PM CDT> <Warning> <Socket> <BEA-000449> <Closing the socket, as no data read from it on 127.0.0.1:57,013 during the configured idle timeout of 5 seconds.>
    <Apr 22, 2015 4:34:43 PM CDT> <Warning> <Socket> <BEA-000449> <Closing the socket, as no data read from it on 127.0.0.1:57,017 during the configured idle timeout of 5 seconds.>
    <Apr 22, 2015 4:34:43 PM CDT> <Warning> <Socket> <BEA-000449> <Closing the socket, as no data read from it on 127.0.0.1:57,016 during the configured idle timeout of 5 seconds.>
    ++++++++++++++++++++++++++++++++++++++++++++++move to next page
    <oracle.dfw.impl.incident.DiagnosticsDataExtractorImpl> <DiagnosticsDataExtractorImpl> <createADRIncident> <incident 11 created with problem key "ADFC-02013 [ADFc]">
    <oracle.dfw.impl.incident.DiagnosticsDataExtractorImpl> <DiagnosticsDataExtractorImpl> <createADRIncident> <incident 12 created with problem key "ADFC-02013 [ADFc]">
    <oracle.adf.view> <RichExceptionHandler> <_logUnhandledException> <ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5>
    oracle.adf.controller.activity.ActivityLogicException: ADFC-02013: Unable to get metadata for activity 'page2.jsf'.
      at oracle.adfinternal.controller.util.Utils.createAndLogActivityLogicException(Utils.java:234)
      at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:1133)
      at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:979)
      at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:551)
      at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:162)
      at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:119)
      at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:88)
      at org.apache.myfaces.trinidadinternal.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:50)
      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
      at javax.faces.component.UICommand.broadcast(UICommand.java:315)
      at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:1074)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:402)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
      at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:327)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:229)
      at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:202)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
      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:460)
      at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
      at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
      at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
      at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
      at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
      at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

    User, tell us your jdev version, please!
    What is your goal?
    What you have find had nothing to do with ADF. If you ent to learn adf then I recommend to work through find of the tutorials available on the jdev home page.
    If adf is not your goal, you might want to use Trinidad and ask your question in their forum.
    You might not like the declarative approach adf uses, but if you want to learn how to use adf, you have to understand how ADF works. Most can be done using java, but one you understand the framework you see the advantage.
    Timo

  • ADF Faces refresh conditions cause NullPointerException

    We are developping an ADF faces web application. For the jspx pages we use EJB3 data controls to display data from the database and other legacy systems.
    Most values in our application are read-only and some take some time to be provided by the database. To increase performance of our web application we decided to change the refresh condition from Refresh="ifNeeded" to Refresh="renderModelIfNeeded". The parameters of the bindings should not change so this seemed to be o.k. for our needs. To avoid the call during postbacks we added RefreshCondition="${!adfFacesContext.postback}".
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
    version="10.1.3.41.57" id="app_pagePageDef"
    Package="web.pageDefs"
    EnableTokenValidation="false">
    <methodIterator id="findSomething"
    Binds="findSomething.result"
    DataControl="GatewayLocal" RangeSize="-1"
    BeanClass="entities.MyObject"
    RefreshCondition="${!adfFacesContext.postback}"
    Refresh="renderModelIfNeeded"/>
    Performance is now really good and all data is displayed.
    On the other hand we now experience a strange behaviour and from time to time we get the following error message:
    07/10/30 14:02:37 java.lang.NullPointerException
    07/10/30 14:02:37 at oracle.jbo.uicli.binding.JUCtrlListBinding.findListIndex(JUCtrlListBinding.java:1096)
    07/10/30 14:02:37 at oracle.jbo.uicli.binding.JUCtrlListBinding.setValueAt(JUCtrlListBinding.java:1726)
    07/10/30 14:02:37 at oracle.jbo.uicli.binding.JUCtrlListBinding.updateValuesFromRow(JUCtrlListBinding.java:1339)
    07/10/30 14:02:37 at oracle.jbo.uicli.binding.JUIteratorBinding.navigated(JUIteratorBinding.java:282)
    07/10/30 14:02:37 at oracle.jbo.common.RowSetHelper.fireNavigationEvent(RowSetHelper.java:261)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCRowSetIteratorImpl.notifyNavigationEvent(DCRowSetIteratorImpl.java:1611)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCGenericRowSetIteratorImpl.notifyNavigationEvent(DCGenericRowSetIteratorImpl.java:313)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCRowSetIteratorImpl.syncIterator(DCRowSetIteratorImpl.java:258)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCRowSetIteratorImpl.first(DCRowSetIteratorImpl.java:653)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCIteratorBinding.refreshControl(DCIteratorBinding.java:649)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCIteratorBinding.rangeRefreshed(DCIteratorBinding.java:735)
    07/10/30 14:02:37 at oracle.jbo.common.RowSetHelper.fireRangeRefreshed(RowSetHelper.java:172)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCRowSetIteratorImpl.notifyRangeRefreshed(DCRowSetIteratorImpl.java:1570)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCRowSetIteratorImpl.buildProviderIterator(DCRowSetIteratorImpl.java:465)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCRowSetIteratorImpl.fetchDataSource(DCRowSetIteratorImpl.java:394)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCRowSetIteratorImpl.getRowAtAbsoluteIndex(DCRowSetIteratorImpl.java:1008)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCRowSetIteratorImpl.syncIterator(DCRowSetIteratorImpl.java:225)
    07/10/30 14:02:37 at oracle.adf.model.generic.DCRowSetIteratorImpl.first(DCRowSetIteratorImpl.java:653)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCIteratorBinding.internalGetCurrentRowInBinding(DCIteratorBinding.java:1919)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCIteratorBinding.getCurrentRow(DCIteratorBinding.java:1866)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCIteratorBinding.prepareCurrentRow(DCIteratorBinding.java:548)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCIteratorBinding.refreshControl(DCIteratorBinding.java:683)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:3499)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCBindingContainer.refreshExecutables(DCBindingContainer.java:2637)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:2568)
    07/10/30 14:02:37 at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2260)
    07/10/30 14:02:37 at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareRender(PageLifecycleImpl.java:534)
    07/10/30 14:02:37 at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareRender(FacesPageLifecycle.java:99)
    07/10/30 14:02:37 at oracle.adf.controller.v2.lifecycle.Lifecycle$1.execute(Lifecycle.java:297)
    07/10/30 14:02:37 at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
    07/10/30 14:02:37 at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java:29)
    07/10/30 14:02:37 at oracle.adf.controller.faces.lifecycle.ADFPhaseListener$1.before(ADFPhaseListener.java:426)
    07/10/30 14:02:37 at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.beforePhase(ADFPhaseListener.java:77)
    07/10/30 14:02:37 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:192)
    07/10/30 14:02:37 at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
    07/10/30 14:02:37 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
    07/10/30 14:02:37 at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    07/10/30 14:02:37 at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
    07/10/30 14:02:37 at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
    07/10/30 14:02:37 at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
    07/10/30 14:02:37 at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
    07/10/30 14:02:37 at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
    07/10/30 14:02:37 at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
    07/10/30 14:02:37 at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
    07/10/30 14:02:37 at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
    07/10/30 14:02:37 at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
    07/10/30 14:02:37 at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
    07/10/30 14:02:37 at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
    07/10/30 14:02:37 at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
    07/10/30 14:02:37 at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:436)
    07/10/30 14:02:37 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
    07/10/30 14:02:37 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    07/10/30 14:02:37 at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    07/10/30 14:02:37 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    07/10/30 14:02:37 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    07/10/30 14:02:37 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    07/10/30 14:02:37 at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    07/10/30 14:02:37 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    07/10/30 14:02:37 at java.lang.Thread.run(Thread.java:595)
    Has anyone seen this error before or can anyone explain this error? This problem is mission criticle to us so any help is appreciated. Without the boost of performance and unnecessary callbacks the application is just unusable.
    Thanks in advance,
    Robert

    Hi Frank,
    it seems that this issue is dependent to the renderModelIfNeeded phase. I still have no explanation for this behaviour. For now I've changed our implementation to use the prepareModel phase but I'm still not happy with the ADF phase implementation and documentation. Some methods that we use in the backend are called many times.
    I'll keep on trying to find a solution...
    Thanks
    Robert

  • Oracle ADF viewScope causing session size bloat

    As I'm sure you know, ADF introduces some additional scopes (pageFlowScope, viewScope and backingBeanScope) on top of the standard JSF ones. Our use of one of the ADF scopes, viewScope, appears to be causing our session size to bloat over time.
    Objects that are view scoped (e.g. our Backing Beans) are managed by ADF and appear to be put into the session in a org.apache.myfaces.trinidadinternal.application.StateManagerImpl$PageState object. The number of these objects in the session is equal to the org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS in our web.xml configuration file.
    Once all of the tokens are ‘used up’, by navigating around the application, the oldest one of these objects is removed from the session and (should be) garbage collected at some point. However, the reclaim of this space is observed much later, after the session has expired. Because of this, when load testing the application we see the heap space usage gradually increasing, before causing the JVM to crash.
    The monitoring of the creation and destruction of our objects is done by adding log statements in the default constructor and in the finalize method (Which overrides the finalize method on object). The logging statements on object creation are seen when we would expect them, but the logging statements from the finalize method are only seen after session expiry. When a garbage collection is triggered using Oracle JRocket Mission Control we see the heap usage drop significantly, but don’t observe any logging from the finalize method calls.
    Does anyone have any thoughts on why the garbage collector might not be able to reclaim view scoped objects after they are removed from the session?
    Thanks in advance.
    P.S. I have already found VIEW SCOPE IS NOT RELEASING PROPERLY IN ADF which is a very closesly related thread, but unfortunately was not able to use the replies on there to resolve our issue. I've also posted this same question on Stack Overflow (http://stackoverflow.com/questions/13380151/lifetime-of-view-scoped-objects-oracle-adf). I'll try and update both threads if I find a solution.
    Edited by: 971217 on 14-Nov-2012 07:08

    Hi Frank,
    Thanks for your very useful reply. I've managed to recreate the problem today by doing the following.
    1. Create pageOne.jspx and pageTwo.jspx
    2. Create PageOneBB.java and PageTwoBB.java
    3. Register PageOneBB.java and PageTwoBB.java in the adfc-config.xml as view scoped managed beans.
    Then after building and deploying out to my Weblogic server I continue by doing the following:
    4. Open pageOne.jspx in a browser. Observe the constructor of pageOneBB being called and the correct default text being shown in the box. [Optional] Set the text value to a new string and click on the button.
    5. Get redirected to pageTwo.jspx. Observe the constructor of pageTwoBB being called and the correct default text being shown in the box. [Optional] Set the value to a new string and click on the button.
    6. Monitor the Weblogic server using Oracle JRocket Mission Control. Observe the large lists of booleans being created as expected (5,000,000 per click!).
    7. Note that this number is never reduced - even though the old view scoped beans should have been released for garbage collection.
    8. Repeat steps 4 and 5 until I see the Weblogic server crash due to a java.lang.OutOfMemoryError.
    9. Wait for all of the sessions to expire. I've set my session expiry to be 180s for the purpose of this test.
    10. After 180s observe the finalize method being called on all of the backing bean objects and the heap usage drop significantly.
    11. The server works again but the problem has been demonstrated in a reproducible way.
    adfc-config.xml
    <managed-bean>
        <managed-bean-name>pageOneBB</managed-bean-name>
        <managed-bean-class>presentation.adf.test.PageOneBB</managed-bean-class>
        <managed-bean-scope>view</managed-bean-scope>
    </managed-bean>
    <managed-bean>
        <managed-bean-name>pageTwoBB</managed-bean-name>
        <managed-bean-class>presentation.adf.test.PageTwoBB</managed-bean-class>
        <managed-bean-scope>view</managed-bean-scope>
    </managed-bean>
    pageOne.jspx
    <?xml version='1.0' encoding='utf-8?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
        xlmns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
        xmlns:c="http://java.sun.com/jsp/jstl/core" >
        <jsf:directive.page contentType="text/html;charset=UTF-8" />
        <f:view>
            <af:document id="t" title="Page One">
                <af:form>
                    <af:inputText id="pgOneIn" value="#{viewScope.pageOneBB.testData}" />
                    <af:commandButton id="pgOneButton" partialSubmit="true"
                        blocking="true" action="#{viewScope.pageOneBB.goToPageTwo}"
                        text="Submit" />
                </af:form>
            <af:document>
        </f:view>
    </jsp:root> pageTwo.jspx
    <?xml version='1.0' encoding='utf-8?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
        xlmns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
        xmlns:c="http://java.sun.com/jsp/jstl/core" >
        <jsf:directive.page contentType="text/html;charset=UTF-8" />
        <f:view>
            <af:document id="t" title="Page Two">
                <af:form>
                    <af:inputText id="pgTwoIn" value="#{viewScope.pageTwoBB.testData}" />
                    <af:commandButton id="pgTwoButton" partialSubmit="true"
                        blocking="true" action="#{viewScope.pageTwoBB.goToPageOne}"
                        text="Submit" />
                </af:form>
            <af:document>
        </f:view>
    </jsp:root> PageOneBB.java
    package presentation.adf.test;
    import java.io.IOException;
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.List;
    import javax.faces.context.FacesContext;
    import org.apache.log4j.Logger;
    import logger.log4j.RuntimeConfigurableLogger;
    public class PageOneBB implements Serialiable
        /** Default serial version UID. */
        private static final long serialVersionUID = 1L;
        /** Page one default text. */
        private String pageOneData = "Page one default text";
        /** A list of booleans that will become large. */
        private List<Boolean> largeBooleanList = new ArrayList<Boolean>();
        /** The logger */
        private static final Logger LOG = RuntimeConfigurableLogger.gotLogger(PageOneBB.class);
        /** Default constructor for PageOneBB. */
        public PageOneBB()
            for (int i = 0; i < 5000000; i++)
                largeBooleanList.add(new Boolean(true));
            if (LOG.isTraceEnabled())
                LOG.trace("Constructor called on PageOneBB. This object has a hash code of " + this.hashCode());
        /** Method for redirecting to page two. */
        public void goToPageTwo()
            try
                FacesContext.getCurrentInstance().getExternalContext.redirect("pageTwo.jspx");
            catch (IOException e)
                e.printStackTrace();
        * {@inheritDoc}
        @Override
        protected void finalize() throws Exception
            if (LOG.isTraceEnabled())
                LOG.trace("Finalize method called on PageOneBB. This object has a hash code of " + this.hashCode());
        * Set the testData
        * @param testData
        *        The testData to set.
        public void setTestData(String testData)
            if (LOG.isTraceEnabled())
                LOG.trace("setTestData method called on PageOneBB with a parameter of " + testData);
            this.pageOneData = testData;
        * Get the testData
        * @return The testData.
        public String getTestData()
            if (LOG.isTraceEnabled())
                LOG.trace("getTestData method called on PageOneBB");
            return pageOneData;
    PageTwoBB.java
    package presentation.adf.test;
    import java.io.IOException;
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.List;
    import javax.faces.context.FacesContext;
    import org.apache.log4j.Logger;
    import logger.log4j.RuntimeConfigurableLogger;
    public class PageTwoeBB implements Serialiable
        /** Default serial version UID. */
        private static final long serialVersionUID = 1L;
        /** Page one default text. */
        private String pageTwoData = "Page two default text";
        /** A list of booleans that will become large. */
        private List<Boolean> largeBooleanList = new ArrayList<Boolean>();
        /** The logger */
        private static final Logger LOG = RuntimeConfigurableLogger.gotLogger(PageTwoBB.class);
        /** Default constructor for PageTwoBB. */
        public PageTwoBB()
            for (int i = 0; i < 5000000; i++)
                largeBooleanList.add(new Boolean(true));
            if (LOG.isTraceEnabled())
                LOG.trace("Constructor called on PageTwoBB. This object has a hash code of " + this.hashCode());
        /** Method for redirecting to page one. */
        public void goToPageOne()
            try
                FacesContext.getCurrentInstance().getExternalContext.redirect("pageOne.jspx");
            catch (IOException e)
                e.printStackTrace();
        * {@inheritDoc}
        @Override
        protected void finalize() throws Exception
            if (LOG.isTraceEnabled())
                LOG.trace("Finalize method called on PageTwoBB. This object has a hash code of " + this.hashCode());
        * Set the testData
        * @param testData
        *        The testData to set.
        public void setTestData(String testData)
            if (LOG.isTraceEnabled())
                LOG.trace("setTestData method called on PageTwoBB with a parameter of " + testData);
            this.pageTwoData = testData;
        * Get the testData
        * @return The testData.
        public String getTestData()
            if (LOG.isTraceEnabled())
                LOG.trace("getTestData method called on PageTwoBB");
            return pageTwoData;
    }

Maybe you are looking for