JSF keeps displaying old values after Validation Phase fails

Hi all,
I would like to ask some help in understanding a particular behaviour that JSF shows when Validation Phase fails.
I'm using:
- Tomcat 7.0.2
- JSF 1.2_12
- RichFaces 3.3.3
Problem description.
I wrote a form with 4 input fields: an inputText and 3 selectOneMenu. The inputText is required while the selectOneMenus don't require any validation.
Attached to the first selectOneMenu (row 32), is an a4j:support tag so that, whenever the change event is fired, the list of items of the second
and the third selectOneMenu (row 44 and 58) are correctly filled (note that the mandatory of the inputText is ignored thanks to the ajaxSingle attribute).
In particular, after loading the two lists of items, the actionListener forces the value of the second and the third selectOneMenu to null.
This mechanism seems to work fine until I submit the whole form without filling the input text: as expected, JSF validation fails but if I change the value of
the first selectOneMenu again (causing a new submit), the page keeps displaying the values specified before JSF validation failed for the second and the third
selectOneMenu (note that the actionListener is still called and the values of the second and the third selectOneMenu are still forced to null).
Since I'm using a simple PhaseListener, I noticed the following: before JSF validation fails, every time I change the value of the first selectOneMenu, JSF life
cycle always calls the get method for the second and the third selectOneMenu during the Render Response Phase. In this way, JSF is able to "see" that
those values have been set to null during the Invoke Application Phase.
After validation fails, JSF stops calling those getters when I change the value of the first selectOneMenu.
I hope my explanation was clear enough, thanks a lot for your help.
Regards,
Nico
Web Page
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:rich="http://richfaces.org/rich">
<head>
  <title>Prove Rich</title>
</head>
<body>
  <h2>Prove Rich</h2>
  <f:view>
  <a4j:outputPanel ajaxRendered="true">
    <h:messages style="color:red" />
  </a4j:outputPanel>
  <h:form>
  <p>
     Input required: <h:inputText value="#{provaProbReplyBean.inputRequired}" required="true" />
  </p>
  <p>
       <h:outputText value="Scegli il canale:" />
       <h:selectOneMenu value="#{provaProbReplyBean.canale}">
        <f:selectItem itemLabel="--" itemValue="" />
        <f:selectItem itemLabel="Profamily" itemValue="Profamily" />
        <f:selectItem itemLabel="Captive" itemValue="Captive" />
        <a4j:support event="onchange" action="#{provaProbReplyBean.caricaProcBanche}"
                              ajaxSingle="true" reRender="procedure, banche" />
     </h:selectOneMenu>
  </p>
  <p>
       <h:outputText value="Scegli la procedura:" />
       <h:selectOneMenu id="procedure" value="#{provaProbReplyBean.procedura}">
        <f:selectItem itemLabel="--" itemValue="" />
        <f:selectItems value="#{provaProbReplyBean.procedureList}" />
        <!-- immediately save the current value -->
        <a4j:support event="onchange" ajaxSingle="true" />
     </h:selectOneMenu>
  </p>
  <p>
       <h:outputText value="Scegli la banca:" />
       <h:selectOneMenu id="banche" value="#{provaProbReplyBean.banca}">
        <f:selectItem itemLabel="--" itemValue="" />
        <f:selectItems value="#{provaProbReplyBean.bancheList}" />
        <!-- immediately save the current value -->
        <a4j:support event="onchange" ajaxSingle="true" />
     </h:selectOneMenu>
  </p>
  <p><h:commandButton value="Submit" /></p>
  </h:form>
  </f:view>
</body>
</html>
Bean
public class ProvaProbReply {
     private String inputRequired;
     private String canale;
     private String procedura;
     private String banca;
     private Map<String, List<SelectItem>> canaliProc = new HashMap<String, List<SelectItem>>();
     private Map<String, List<SelectItem>> canaliBanche = new HashMap<String, List<SelectItem>>();
     private List<SelectItem> procedureList = new ArrayList<SelectItem>();
     private List<SelectItem> bancheList = new ArrayList<SelectItem>();
     public ProvaProbReply() {
          List<SelectItem> l = new ArrayList<SelectItem>();
          l.add(new SelectItem("Cessione del quinto"));
          l.add(new SelectItem("Credito al consumo"));
          l.add(new SelectItem("Mutui"));
          canaliProc.put("Profamily", l);
          l = new ArrayList<SelectItem>();
          l.add(new SelectItem("Credito al consumo"));
          canaliProc.put("Captive", l);
          l = new ArrayList<SelectItem>();
          canaliBanche.put("Profamily", l);
          l = new ArrayList<SelectItem>();
          l.add(new SelectItem("BDL"));
          l.add(new SelectItem("BM"));
          l.add(new SelectItem("BPM"));
          l.add(new SelectItem("CRA"));
          canaliBanche.put("Captive", l);
     public String getInputRequired() {
          return inputRequired;
     public void setInputRequired(String ir) {
          inputRequired = ir;
     public String getCanale() {
          return canale;
     public void setCanale(String c) {
          canale = c;
     public String getProcedura() {
          System.out.println("\ngetProcedura called\n");
          return procedura;
     public void setProcedura(String p) {
          procedura = p;
     public String getBanca() {
          System.out.println("\ngetBanca called\n");
          return banca;
     public void setBanca(String b) {
          banca = b;
     public List<SelectItem> getProcedureList() {
          return procedureList;
     public List<SelectItem> getBancheList() {
          return bancheList;
     public String caricaProcBanche() {
          System.out.println("\nListener called\n");
          procedureList.clear();
          bancheList.clear();
          if(canale != null && !canale.equals("")) {
               procedureList.addAll(canaliProc.get(canale));
               bancheList.addAll(canaliBanche.get(canale));
          System.out.println("BEFORE setting:\n");
          System.out.println("\nProcedura: "+procedura+"\n");
          System.out.println("Banca: "+banca+"\n");
          procedura = null;
          banca = null;
          System.out.println("\n\n\nAFTER setting:\n");
          System.out.println("\nProcedura: "+procedura+"\n");
          System.out.println("Banca: "+banca+"\n");
          return "";
}Edited by: 869000 on 28-giu-2011 14.05

I'm thinking this has to do with the fact that the UIComponents use the localValue after validation fails. This prevents the values from being overwritten when re-rendering the page, i.e. the inputs keep the value set by the user.
The solution is to manipulate the components directly during the AJAX request when the first pull down is changed. Use the binding attribute to place them into your bean and clear the value directly. That way it will not matter that the expression is not evaluated.

Similar Messages

  • Exception Aggregation (Average) displaying incorrect values after EHP1 Upgr

    Hi All,
    Exception Aggregation (Average) displaying incorrect values after EHP1 Upgrade in our BW system
    We have recently upgraded the system to EHP1. After the upgrade some of the queries where we are using Exception Aggregation (Average) started giving the incorrect values.
    Eg. We are displaying three Key Figures KF1, KF2 and KF3 (=KF1 %A KF2) against Store Hierarchy. In KF3 we are using Exception Aggregation (Average) on a characteristic 0PLANT.
    There are 14 rows against 0PLANT and out of those 2 rows are blank for KF1, so for KF3. When it is calculating the average of these key figures its dividing the total value by 12 instead of 14 which is not correct in our case. Earlier it was dividing the total by 14.       
    So in this case 'Average' and "Average of all values <>0" are behaving the same way.
    Kindly provide some inputs on this.
    Best Regards,
    Sachin Verma
    +44 7506740018

    Hi,
    Thanks for viewing the thread. And happy to let you know that the issue was resolved.
    The solution was:
    Two formulas (local) were created, one including the formula variable with replacement path for ZD1, with exception aggregation on ZD1, and the other with formula variable with replacement path for ZD2, with exception aggregation on ZD2. Both these formulas are hidden.
    Another formula (local) was created for u2018time takenu2019 = formula with ZD1 u2013 formula with ZD2, with exception aggregation total on u2018ZDOCNOu2019.
    For the second instance, when one requires exception aggregation on records that has multiple values for keys, a nesting of formulas can be done displaying only the ones required.
    For e.g. a formula with exception aggregation on say characteristic u2018item no.u2019 can be hidden, and included in another formula for exception aggregation on characteristic u2018document no.u2019. This is a typical case where one can achieve calculation before aggregation for a calculated key figure, formula or a counter.
    Hope it might help someone, and saves time and effort for a similar issue posted.
    Also would like to keep this thread open for exploring better solutions.   
    Regards,
    Vijay

  • Keep the old value in the UI field if entity validation fails

    Hi,
    I have a requirement to retain the original value (old value), if the entity attribute validation fails when the filed value is changed. I have created one validation rule on the entity object and the validation rule is working as expected. But I would like to reset the value to the original value if the validation fails on the modified value.
    Thanks and Regards,
    S R Prasad

    Hello,
    Please tell us your first name, and change your forum handle to something more friendly than User123. It’s nicer and easier for us this way.
    It seems that the forum software messed up the example code you wanted to present. To avoid that you can use the forum tags &#91;code] and &#91;/code] at the beginning and end of your code.
    If I understand correctly, you are trying to retrieve the original field value from a fxx array, however these arrays are populated after page submit, so they don’t hold the initial values of the column.
    I think the simplest solution will be to use an ‘onfocus’ event that will save the initial value – this.value – in a global JavaScript variable. In your ‘onchange’ code, instead of clearing the field if validation failed just assigns the original value for the JavaScript variable.
    Regards,
    Arie.
    &diams; Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    &diams; Forthcoming book about APEX: Oracle Application Express 3.2 – The Essentials and More

  • Keep login value after validation

    Hi,
    i'm learning Dreamweaver and doing a login page.
    Is it possible, when I submit my Login Form, to keep the
    value I entered in the login texfield and display a error message?
    Ex: Form method="post"
    If it's valid, redirect to page x
    If not, redirect to the same form, display the message"
    Invalid password" and keep the wonrg value in the Login field.
    thanks,
    Rosline

    Hi,
    yes of course,
    can you post the link, or the source code where is the
    problem,
    T

  • I am getting old values after changind the data in CRM ISA B2B.

    Hi,
    I am modifying Standard CRM ISA B2B application. Under "My Account" section. there are two options 1) Password change and 2) Address Change.
    I changed "addresschange.jsp" for Look and feel. I also changed Telephone and Fax input filed by braking them into three input field and made Standard telephone and fax field to hidden. Through Java script I am taking value from Standard file and braking them into 3 part and then display in appropriate field also while saving the record I am taking value from three input fields and assigned to standard field before saving the changes.
    When  I click on Submit button after making changes to name, phone or any field I am getting success  message that your record has been updated successfully but when I revisit it I am getting the old values.
    pl. guide me How  I can resolve this issue?
    Thanks.
    Ashish Patel.

    Hi Gareth
    My understanding is that you want to store some extra attribute for items in your CRM catalog and want to display that extra attribute in the list page ei ProductISA.jsp. If this is all you need to do, then good thing is you dont need to make any changes to any business object class.
    Define a custom attribute in CRM catalog and assign its value. You may need to republish the catalog once you've done this.
    On the Java side to access this extra attribute you can use the following code.
    WebCatItem item = (WebCatItem) lstItems.get(nCount);
    String strOrderCD = item.getAttribute("ZORDERCODE");
    getAttribute() method reads the value of any custom parameter you may define in your CRM catalog. In case you want to send some extra data to CRM, you'll need to use the addExtensionData() method and would need to handle this extra info in the corresponding BADI.
    Cheers
    PB

  • Reports 6i keeps displaying old version of report output

    Hi
    I am using Forms and Reports 6i. Using web.show_document to diaplay the report.
    Each time I run the report from the form it keeps displaying the same old information and the date on the report is always 20 Sep 2007. I have changed columns on the report, but the report still shows a report run on 20 Sep 2007 with the original columns.
    However, I have run the same application from a different PC with the same log in id and password and the report works fine. Is there something like logs etc on my pc that needs to be cleared?
    Thanks

    I have noticed that when I run the report and the old version displays, I then go to Internet Explorer, click on Tools, then Internet Options and Delete Files, and run the report again, then the latest version displays.
    Any help?????

  • BEx Displays Wrong Values After Reloading InfoCube

    I am very new to all of this, so there is a good chance I have just done something stupid.  I have an InfoCube in which I deleted all of the data, and then reloaded it with corrected data from the PSA.  If I look at the raw data in the InfoCube, it looks fine.  If I run a query with either BEx Analyzer or BEx Web Analyzer, key figure data is doubled, as are the result rows.  I believe it has to do caching for that particular Query, because I can create a new one and it will display the data correctly.  Does anyone have any ideas what might be causing this to happen? Or how to clear out the cache?
    Thanks

    Well, by the time I got back to look at it, it was working fine.  Which told me it was related to caching.  So I decided to recreate it.  In order to do this, I cleared out the request from the InfoCube, and then went and modified a few rows in the PSA.  After the DTP, I once again checked the Query and it was wrong.  I first checked the Request IDs, and I only had the new one.  I then went into RSRT and deleted just the cache for that query.  After that, the query was working again!  Thanks for your help. 
    Now my questions are how long does it take for the cache to recycle, and what actions can prompt it to recycle (such as changing the query)?

  • InputText tag displays 'old' value

    Hi,
    I have an inputText tag similar to this:
    <h:inputText id="name" value="#{userDetailsBean.user.displayName}">
    <trx:validateText pattern=".*[^a-zA-Z /-].*" max="40"/>
    </h:inputText>
    The first time i visit the page, the value displayed is correctly taken from the backing bean.
    Even though the backng bean has changed, the second time i visit the page, the input field is initially set to the value displayed on the first visit, not taken from the backing bean.
    Logging confirms the getter is not being called, but the value seems to be taken from some object cached in the request/session.
    I have tried both session and request scope for the backing bean.
    How can i turn off this behaviour?
    Thanks Nige

    Ok,
    I have a page which uses a dataTable tag to show all the users.
    <h:form rendered="#{siteAdminBean.viewUsers}" styleClass="form">
    <h:dataTable value="#{viewUsersBean.usersModel}" var="user"
    styleClass="table" rowClasses="tableOddRow, tableEvenRow"
    columnClasses="tableDataCol, tableDataCol, tableButtonCol, tableButtonCol">
    <h:column>
    <f:facet name="header">
    <h:outputText value="User ID:"/>
    </f:facet>
    <h:outputText value="#{user.displayUserId}"/>
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="Name:" styleClass="tableDataCol"/>
    </f:facet>
    <h:outputText value="#{user.displayName}"/>
    </h:column>
    <h:column>
    <h:commandButton value="Details" action="#{viewUsersBean.detailsAction}"/>
    </h:column>
    <h:column>
    <h:commandButton value="Delete" action="#{viewUsersBean.deleteAction}"/>
    </h:column>
    </h:dataTable>
    </h:form>
    The details button takes me to the page in question and shows more extensive details. I can then navigate back to this show all pages from the details page, and pick another one.
    The bit i can't understand is why the getter method for the input tag in question is only accessed on the first visit, and not on the second...

  • Keeping the old looks after installing ios7

    I just installed ios7 and i'm yet to explore it, but one thing i know already is that the looks (wallpaper, icons, etc.) are not appealing and just make the whole experience frustrating.  Can i get the old ones back without uninstalling ios7 ?

    Thanks for the response.  Frankly, i find the new look too sterile, but that's not the key issue i have with this. I have older parents with limited computer literacy, and now they will be facing the whole new icons.  The old look was ok, and i don't see why can't they leave an option for us to keep it. In any case, thanks for clarifying.

  • Keep getting old emails after restore

    hi just restored my iphone and i keep getting emails!! 50 at a time i delete 50 and 50 more come ive deleted that many that im in june 09!! the iphone wasnt even out then\
    plz help

    If the account is a POP account, the email account was recreated on your iPhone. When creating or when recreating an existing POP account with any email client, all received messages that remain at the incoming mail server for the account will be downloaded as new and unread messages. It doesn't matter when the iPhone was released. What matters is how long have you been accessing the email account and if you have received messages that remain at the incoming mail server older then June of 09.

  • My ipod keeps displaying old backups name

    i made a backup for my cousins i pod 2g (i have a ipod 4g)  i made the back up for her about a year and a half ago and i bought my ipod about a week ago.  it has become annoying is there a registry cleaner i need or a back up delete"r or could it be a problem with my iTunes or Microsoft?

    Try opening up your multitasking tray by double-tapping your Home button, hold you finger on any icon until they start to jiggle and then kill all of the apps in there.
    Basic troubleshooting steps  
    17" 2.2GHz i7 Quad-Core MacBook Pro  8G RAM  750G HD + OCZ Vertex 3 SSD Boot HD 
    Got problems with your Apple iDevice-like iPhone, iPad or iPod touch? Try Troubleshooting 101
     In Memory of Steve Jobs 

  • Which table stores old value of IBAN number and how to retrive old value.

    HELLO TEAM
    We are going through an enhancement process that requires to display old value and new value of the IBAN number from the Vendor master records. As IBAN is a combination of the country key, Bank Key and Bank account number, which are all key fields, their values are stored in the form of key in CDHDR and and CDPOS tables. The bank details are only shown in other key tab/column and the field name is displayed as key in CDPOS. These sensitive field changes are displayed as created or deleted but do not show as old value=x and new value =Y.The old value and new value fields are blank. The same happens for object IBAN and the tiban table only stores iban numbers that are updated and does not store old value of the iban number.
    If I have to display in the report s_alr_87012089, the old value and the new value of the iban number , how can i achieve the task. From which table we can retireve the old value of the IBAN number.
    << Moderator message - Everyone's problem is important. But the answers in the forum are provided by volunteers. Please do not ask for help quickly. >>
    Thank you in anticipation of a solution
    Shekhar
    Edited by: Rob Burbank on Jul 19, 2011 4:59 PM

    Hello Team
    We have explored all the above means. We are working in 4.7 environment. As we could not find an appropriate solution, we have approached the forum. The old value is not stored in cdhdr and cdpos and has the indicator as 'E' -Delete. So if an updation is done then it will delete old value and create a new value. This happens especially for the fields Bank Country Key,Bank Key, Bank Account Number. All we have checked the object attributes in the table lfbk, where for some fields it does track changes  and for other it does not track changes. This is especially for the fields kovon and kobis.
    If the requirement is to track changes to the fields Bank Country Key,Bank Key, Bank Account Number, kovon, kobis, iban which are sensitive data, and the report has to display old value and new value for sox compliance, how can this be achieved?
    I have also gone through the SAP note 580266
    If we are running a report to track changes to all vendors or a selected group of vendors, only some fields show up the value old value and new value.
    Would appreciate if an appropriate solution is provided.
    Request for a solution as i waited for 2 days if any expert could help!!!
    Thank you
    shekhar
    Edited by: V_Shekhar on Jul 27, 2011 1:18 PM
    Edited by: V_Shekhar on Jul 28, 2011 4:36 PM

  • Why substitution strings are keeping old value in translated application even after seed/publish?

    Hi,
    Recently I have notice a small but from the point of view of our customer "big" issue. We have defined in our application some substitution strings to keep more detailed information about the version of the application. They are later used in page templates to show mentioned info to the end users. Recently I had to update value of one of the substitution strings. The change is immediately visible in main application. Unfortunately it is not the case for the translated application. For some reason old value is kept. Even after doing "Seed" -> "Apply translation file" -> "Publish". It is still preserving the old value. I have tried to use "Translatable" checkbox in the template. In the translation file it is showing properly substitution string in the "source" and "target" tags but still it is resolved to the old value.
    We are using APEX 4.2.2.00.11 running on 11g.
    Waiting for any suggestions as maybe it is me forgetting about ticking somewhere additional "checkbox". Thank you in advance.
    Greetings,
    kempiak

    It was my mistake. Value of the substitution string is included in the translation file. I have changed it there and it works perfectly.
    Greetings,
    kempiak

  • JSF Page Creation wizard title configuration uses old values!

    I just noticed that if you don't explicit change the value of the page's title in the JSF Page Creation Wizard, the page created will get the title from the last page where you changed the title.
    Tested in JDev 10.1.3.1Production and JDev 10.1.3.1 Preview

    I'm thinking this has to do with the fact that the UIComponents use the localValue after validation fails. This prevents the values from being overwritten when re-rendering the page, i.e. the inputs keep the value set by the user.
    The solution is to manipulate the components directly during the AJAX request when the first pull down is changed. Use the binding attribute to place them into your bean and clear the value directly. That way it will not matter that the expression is not evaluated.

  • How to display values after doing some business logic in data action

    hi guys i got the same problem but iam unable to display the values..in my display page when iam trying to do some business logic in my data action class..
    can u guys help me out
    iam pasting my code which iam working here
    my struts-config.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
    <form-beans>
    <form-bean name="DataForm" type="oracle.adf.controller.struts.forms.BindingContainerActionForm"/>
    </form-beans>
    <action-mappings>
    <action path="/inputform" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/inputform.uix">
    <set-property property="modelReference" value="inputformUIModel"/>
    <forward name="success" path="/inputAction.do"/>
    </action>
    <action path="/inputAction" className="oracle.adf.controller.struts.actions.DataActionMapping" type="order.view.InputAction" name="DataForm">
    <set-property property="modelReference" value="displaypageUIModel"/>
    <forward name="success" path="/displaypage.do"/>
    </action>
    <action path="/displaypage" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/displaypage.uix">
    <set-property property="modelReference" value="displaypageUIModel"/>
    </action>
    </action-mappings>
    <message-resources parameter="order.view.ApplicationResources"/>
    </struts-config>
    my input form uix
    <?xml version="1.0" encoding="windows-1252"?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:html="http://www.w3.org/TR/REC-html40"
    expressionLanguage="el">
    <content>
    <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    <!-- Add DataProviders (<data> elements) here -->
    </provider>
    <contents>
    <document>
    <metaContainer>
    <!-- Set the page title -->
    <head title=""/>
    </metaContainer>
    <contents>
    <body>
    <contents>
    <form name="form0" method="post">
    <contents>
    <messageTextInput model="${bindings.password}" text="username"/>
    <messageTextInput model="${bindings.username}" text="password"/>
    <submitButton text="submit" event="success" destination="inputAction.do"/>
    </contents>
    </form>
    </contents>
    </body>
    </contents>
    </document>
    </contents>
    </dataScope>
    </content>
    <handlers>
    <!-- Add EventHandlers (<event> elements) here -->
    </handlers>
    </page>
    my display uix
    <?xml version="1.0" encoding="windows-1252"?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:html="http://www.w3.org/TR/REC-html40"
    expressionLanguage="el">
    <content>
    <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    <!-- Add DataProviders (<data> elements) here -->
    </provider>
    <contents>
    <document>
    <metaContainer>
    <!-- Set the page title -->
    <head title=""/>
    </metaContainer>
    <contents>
    <body>
    <contents>
    <form name="form0">
    <contents>
    <messageStyledText model="${bindings.password}" prompt="Prompt 0"/>
    <messageStyledText model="${bindings.username}" prompt="Prompt 1"/>
    </contents>
    </form>
    </contents>
    </body>
    </contents>
    </document>
    </contents>
    </dataScope>
    </content>
    <handlers>
    <!-- Add EventHandlers (<event> elements) here -->
    </handlers>
    </page>
    my model bean
    package order.model;
    public class TestBean
    private String username;
    private String password;
    public TestBean()
    public String getUsername()
    return username;
    public void setUsername(String username)
    this.username=username;
    System.out.println("the username after actions class:"+username);
    public String getPassword()
    return password;
    public void setPassword(String password)
    this.password=password;
    my data Action class
    package order.view;
    import oracle.adf.controller.struts.actions.DataAction;
    import oracle.adf.controller.struts.actions.DataActionContext;
    import oracle.jbo.uicli.binding.JUCtrlActionBinding;
    import oracle.jbo.uicli.binding.JUCtrlAttrsBinding;
    import order.model.TestBean;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionForward;
    public class InputAction extends DataAction
    * Delegate to the Struts page lifecycle implementation
    * {@link StrutsJspLifecycle#findForward findForward}
    * @param actionContext the lifecycle context for the DataAction
    * @throws Exception
    protected void findForward(DataActionContext actionContext) throws Exception
    // TODO: Override this oracle.adf.controller.struts.actions.DataAction method
    //super.findForward(actionContext);
    TestBean testbean=new TestBean();
    System.out.println("this is action form"+actionContext.getActionForm());
    String username=(String)((JUCtrlAttrsBinding)actionContext.getBindingContainer().findCtrlBinding("username")).getInputValue();
    System.out.println("this is username"+username);
    String username1=username+"hye wats up";
    testbean.setUsername(username1);
    ActionForward forward=actionContext.getActionForward();
    ActionMapping mapping =actionContext.getActionMapping();
    System.out.println("this is mapping"+mapping);
    mapping.findForward("success");
    // To handle an event named "yourname" add a method:
    // public void onYourname(DataActionContext ctx)
    // To override a method of the lifecycle, go to
    // the main menu "Tools/Override Methods...".
    check this out iam unable to display in my display page so help me out if any one can

    No, in this case, I'm using standard JSP with ADF and struts validator.
    If I don't use struts validator and there are errors (such as putting a string into a number which produces a jbo-25009), the list value will be retained.
    When using the validator, it appears that it is NOT retained.
    I've written some code to attempt to set the list element back, which "looks like" it's working right now.
    There's still a problem with the second scenario:
    1. user clicks checkbox and hits [submit]
    2. get's error - you have to enter 5 address items
    3. User wants to backout, so he unchecks the box and resubmits
    4. The box redisplays as "checked"
    SO, at that point, I thought... can't I use YOUR EXAMPLE on how to handle a checkbox.
    I place some code in the reset method of the form to perform this:
    map.put("AddressChangeFlag", (String) "" );
    (that is, I've detected via the request that this flag is null), so I'm trying to make sure it retains it!
    I do that and it runs into a problem during the processUpdateModel aT:
    BindingContainerValidationForm updateForm= (BindingContainerValidationForm) actionContext.getActionForm();
    //Get the binding for our particular column JUCtrlAttrsBinding checkBoxBinding = (JUCtrlAttrsBinding)updateForm.get("AddressChangeFlag");
    call, with an error:
    JBO-29000: Unexpected exception caught: java.lang.ClassCastException, msg=java.lang.String
    java.lang.String
    The value for updateForm.get("AddressChangeFlag") is "", which I'm assuming means the form field is no longer in the request object??
    I'm lost at this point, and have been working on it for more than 1 day.
    Thanks for responding though, and I await feedback ;)

Maybe you are looking for

  • After I have combined some files together to make them into one pdf, can I add and take out files?

    After I have combined some files together to make them into one pdf, can I add and take out files?

  • Indesign Server download link not working

    Hi I tried to download InDesign Server for windows from the https://www.adobe.com/cfusion/tdrc/index.cfm?product=indesign_server. Following this gives me the "403: Header Length Too Large" as an error. Any advice is much appreciated. Thanks,

  • SE/SW Cad Integration -- File Names

    Hello All, Just wanted to make sure in Solid Edge/Solid Work --SAP Integration that we for a Drawing and the Part from which views are generated there is no problem to keep file/original name unique (different). For example Part with file name Bracke

  • Nano Plays a few songs then reboots to main music screen

    This issue not only pertains to the 3rd generation nano but the 4th generations as well. I sync my nano 3rd generation to my PC which has all of my MP3 files on it. I have the nano set up so I manually manage music on it. I created playlist in latest

  • Total lockup KM4M-L w/ ATI Radeon 9600 Pro

    OK, its been a while since ive had any problems at all but unfortunately I am getting problems with my KM4M-L based PC completely locking up. I am pretty sure that this is a graphics related issue since it started when I installed an ATI Radeon 9600