Passing data from page to page: clarification requested

Hello,
I found an old post by craig.mcc which suggests:
"When using JavaServer Faces, your best design strategy is to pretend that there is no such thing as a URL -- that should be an invisible implementation detail, which merely adds complexity if you expose it. Instead, if you need to pass information from one page to another, you should store it as a request/session/application scope attribute (as appropriate) where the destination resource (the "LogIn.jsf" page in this case) can retrieve it via a value binding expression."
Can anyone clarify "store it as a request/session/application scope attribute"? I'm just not entirely sure what he's referring to, or how it might look.
Thanks,
Ryan

Ryan, here is what I did:
(To use your example)
<h:form>
<h:command_link action="submit"
     actionListener="#{MyBean.commandListener}">
<f:parameter name="param1" value="value1" />
<f:parameter name="param2" value="value2" />
</h:command_link>
</h:form >
The Backing Bean Method would look like:
public void commandListener( ActionEvent evt ) {
String param1, param2;
UICommand command = (UICommand)evt.getComponent();
List commandChildren = command.getChildren();
for ( Iterator it = commandChildren.iterator(); it.hasNext(); ) {
UIComponent child = (UIComponent) it.next();
if ( child instanceof UIParameter ) {
String parmName = (String) ( (UIParameter)child ).getName();
String parmValue = (String) ( (UIParameter)child ).getValue();
if ( parmName.equals("param1") )
_param1 = parmValue;
else if ( parmName.equals("param2") )
_param2 = parmValue;
} // end-of-for-loop     
// Other processing on param1 and param2 ........
And you would have a Navigation-rule that maps the action outcome of "submit" to "test.jsp".

Similar Messages

  • Issue in passing data from PAge A to Page B

    Hi
    I have a scenario where I am trying to pass data from Page A to Page B. This data has to
    be passed on the click of a button. On the button's event, I have set the paramaters that
    I want to pass. I have passed these params in a hashmap in pageContext.forwardImmediately
    method.
    Page A has the requisition records. Clicking the radio button against one of these
    records and clicking the Lines button should take me to Page B with that Requisition VO's
    Row.
    In Page B, there are 2 parts..
    (1) A header which displays the requisition details like Req Number, Current Version,
    Previous Version etc
    (2) A table (Advanced Table) regiion which displays the Line details per that Requisition
    (Each Requisiton has 'n' lines).
    I am also getting the paramater value(s) in Page B's controller's processRequest.
    Here, I am calling the init methods on both the requisitionsVO and the linesVO which calls the executeQuery() methods. I thought that this will populate the Page B as the VO's columns are mapped to the
    respective fields in the Page. But I am not able to see any data on Page B. Am I missign anything here.

    reinitlize the VO
    By this do you mean the following :
    In the Controller:
    String reqNum = (String)pageContext.getParameter(PoConstants.PO_REQUISITION_KEY);
    if(!PoUtils.isEmpty(reqNum)) {
    Serializable[] param = {reqNum};
    Class [] paramTypes = {reqNum.getClass()};
    am.invokeMethod("initPoReqHeadersQuery",param, paramTypes);
    In the AM:
    public void initPoReqHeadersQuery(String criteria)
    OADBTransaction txn = this.getOADBTransaction();
    if ( txn.isLoggingEnabled(oracle.apps.fnd.framework.OAFwkConstants.PROCEDURE))
    txn.writeDiagnostics(this, "initPoReqHeadersQuery.begin", oracle.apps.fnd.framework.OAFwkConstants.PROCEDURE);
    PoReqPendingForAcceptanceVOImpl vo = getPoReqPendingForAcceptanceVO1();
    vo.initReqQueryAction(criteria);
    if(!PoUtils.isEmpty(vo)) {
    PoReqPendingForAcceptanceVORowImpl row = (PoReqPendingForAcceptanceVORowImpl)vo.first();
    if(!PoUtils.isEmpty(row)) {
    vo.setCurrentRow(row);
    if ( txn.isLoggingEnabled(oracle.apps.fnd.framework.OAFwkConstants.PROCEDURE))
    txn.writeDiagnostics(this, "initPoReqHeadersQuery.end", oracle.apps.fnd.framework.OAFwkConstants.PROCEDURE);
    In the VO:
    public void initReqQueryAction(String criteria)
    OADBTransaction txn = (OADBTransaction)getApplicationModule().getTransaction() ;
    if ( txn.isLoggingEnabled(oracle.apps.fnd.framework.OAFwkConstants.PROCEDURE))
    txn.writeDiagnostics(this, "initReqQueryAction.begin", oracle.apps.fnd.framework.OAFwkConstants.PROCEDURE);
    setWhereClauseParams(null);
    setWhereClause(null);
    setWhereClause("SEGMENT1 = :1");
    setWhereClauseParam(0,criteria);
    executeQuery();
    if ( txn.isLoggingEnabled(oracle.apps.fnd.framework.OAFwkConstants.PROCEDURE))
    txn.writeDiagnostics(this, "initReqQueryAction.end", oracle.apps.fnd.framework.OAFwkConstants.PROCEDURE);
    }

  • Passing data from page to page

    Hello,
    Firstly i will describe my website structure:
    On the first page i show two objects: table1 and textInput1. Table1 shows the list of data, and textInput1 - current row value.
    On the second page i show three objects: table2, textInput2 (does the same as textInput1), textInput1 (now it's a constant, showing chosen row in the first page).
    The third page consists of table3, textInput3, textInput2 and textInput1.
    And so on..
    And here is the question:
    where should i keep my current row value so i could reach it from all further pages
    or what is the best way to pass them?
    It would be perfect if anyone could provide some information sources (manuals/tutorials) related to this question.
    Thank you!

    Hello,
    If you are using a statefull application then the easiest way is to create a variable in the application class. Save the input from the view it this variable during handle_data en then in the page with flowlogic use application->name_variable to read it.
    An other way is to create a link to the page with flowlogic with after the link ?variable_name=value and in the page with flowlogic create a page attribute with the same name and turn on auto.
    With regards,
    Frank Roels

  • Passing data from one UIX XML page to another UIX XML page

    What are the various ways of passing data from one UIX XML page to another UIX XML page?
    (a) If no bc4j is used.
    (b) If bc4j is used.
    (c) If my event handler calls:-
    public static EventResult handleMyEventEvent( BajaContext context, Page page, PageEvent event) throws Throwable
    then how can I pass data to the next UIX XML page?
    Thanks,
    Paul.

    What are the various ways of passing data from one UIX XML page to another UIX XML page?
    (a) If no bc4j is used.For forwarded URLs; HttpServletRequest attributes [request], HttpSession attributes [session], ServletContext attributes [application].
    For redirected URLs; HttpServletRequest parameters url, HttpSession attributes [session], ServletContext attributes [application].
    (b) If bc4j is used.For forwarded URLs; BC4J Session properties.
    For redirected URLs; BC4J Session properties IF release mode is NOT stateless.
    (c) If my event handler calls:-
    public static EventResult handleMyEventEvent( BajaContext context, Page page, PageEvent event) throws Throwable
    then how can I pass data to the next UIX XML page?Return a UIEventResult (extends EventResult) from your event handler that has a data provider attached.
    This data provider will be accessible in the next page with the name "ctrl:eventResult", where "ctrl" is the short prefix for the namespace "http://xmlns.oracle.com/uix/controller".
    Regards,
    John Fallows
    Oracle Corporation.

  • Problem in passing data from one .jsp page to another .jsp page

    i have a problem here
    Actually i have 2 jsp pages. What im trying to do here is actually i want to pass data from the first jsp page to the second for updating
    The first jsp page contains data that user wants to update in the form of table.
    <td><img src = "edit.gif" alt = "edit" border="0" ><td>
    <TD><%= Name %></td>
    <TD><%= rs.getInt("Age") %></td>
    <TD><%= rs.getString("Gender") %></td>
    So this page displays the data that users wants to update plus one image button (edit button). So when user clicks this button, all the data in this page will be brought to the second .jsp page called updatePersonal for updating.
    The problem here is that it is not displaying the existing data in the second .jsp page.
    The second page basically contains forms
    <INPUT TYPE="text" NAME="FirstName" maxlength="30" value = "<%=FirstName%>">
    Can someone please help me. I really dont know what to do..How do i get the data displayed in the text field that is passed from the first .jsp page..thankx in advance

    Please modify below code to:
    td><img src = "edit.gif" alt = "edit" border="0" ><td>
    -----------------modified code
    td><a href="updatePersonal.jsp?FirstName=<%=rs.getString(FirstName")%">&LastName=<%=rs.getString("LastName")%>&Age=<%=rs.getInt("Age")%>&Gender=<%=rs.getString("Gender")%>"><img src = "edit.gif" alt = "edit" border="0" ></a><td>
    I'm sure it works</a>

  • Passing data from JSP to existing iView in Portal

    Hello Experts,
    I'm new to EP and Web DynPro. Please provide your guidance for the following scenario:
    There are 2 iViews in different pages.
    iView 1(Web DynPro Java application) - its running in portal
    - created by other person long time back - it takes input from user to create a support message
    iView 2(JSP page)
    - since iView 1 is very generic, I have to create one more iView, which is simple & specific to user request, but should pass the data to the iView 1, which in turn will create a support message.
    My Question:
    Is it possible to pass data from my JSP page(in iView2) to the running application in iView1?
    (I don't have access to the code of the running application- so i can't use Client Data Bag or sessions)
    If the above condition is possible, then is it possible to hide the iView 1, so that user doesn't need to see the iView 1 when they submit data?
    Please guide me with sample code or links.
    Thanks in advance,
    Aruna Thamilmani

    You could have the Applet make a request to the server (via URLConnection).

  • Pass data from servlet to jsp using sendRedirect

    Hi,
    I am passing data from servlet to jsp using forward method of request dispatcher but as it doesn't change the url it is creating problems. When ever user refreshes the screen(browser refresh) it's re-loading both servlet and jsp, which i don't want to happen. I want only the jsp to be reloaded.
    Can I pass data from servlet to jsp using sendRedirect in this case. I also want to pass some values from servlet to jsp but without using query string. I want to set some attributes and send to jsp just like we do for forward method of request dispatcher.
    Is there any way i can send data using attributes(without using query string) using sendRedirect? Please let me know

    sendRedirect is meant as a true redirect. meaning
    you can use it to redirect to urls not in your
    context....with forward you couldn't pass information
    to jsps/servlets outside your own context.Actually, you can:
    getServletContext().getContext("/other").getRequestDispatcher("/path/to/servlet").forward(request, response)I think the issue here is that the OP would like to have RequestDispatcher.forward() also update the address in the client's browser. That's not possible, AFAIK. By the time the request is forwarded, the browser has already determined the URL of the servlet, and the only I know of way to have the browser change the URL to the forwarded Servlet/JSP is to send a Location: header (i.e. sendRedirect()). Remember that server-side dispatching is transparent to the client. Maybe there's some tricky stuff you can do with JavaScript to change the address in the address bar without reloading the page?
    Brian

  • Passing data from one bsp application to another

    Hi,
    I have few queries that most of you would have done in ur projects:
    1. I want to pass data from one bsp application to another:
    eg based upon selected row of table view which populates material no and descriprion to another application which open the entire material master data.
    Now, i have both the pages in diff bsp applications in place but unable to pass the selected material code to the second bsp application.
    Had it been two different pages of same application I was able to achieve it with set parameter()
    2. To stop the application from reprcessing the data:
    eg: Suppose I have a bsp page where user fill details of a customer and on submitinng the details a customer is created in background and the entire page is disabled by my code. Even now if the user press refresh (F5) button then another customer gets created in the background. So basically i want to avoid the reprocess of the onSubmit event
    Few lines of sample code would be very helpful.
    Best Regards,
    Saurabh Tripathi

    Hi,
    When I am writing the following code in appl1/page1:
            export abc from transactionID
            to data buffer lv_page_data.
            CALL METHOD CL_BSP_SERVER_SIDE_COOKIE=>SET_SERVER_COOKIE
              EXPORTING
                NAME                  = 'TRANSACTIONID'
                APPLICATION_NAME      = RUNTIME->application_name
                APPLICATION_NAMESPACE = RUNTIME->application_namespace
                USERNAME              = ls_name
                SESSION_ID            = runtime->session_id
                DATA_VALUE            = lv_page_data
                DATA_NAME             = 'lv_page_data'
    and following code in appl2/page2:
      CALL METHOD CL_BSP_SERVER_SIDE_COOKIE=>GET_SERVER_COOKIE
        EXPORTING
          NAME                  = 'TRANSACTIONID'
          APPLICATION_NAME      = RUNTIME->application_name
          APPLICATION_NAMESPACE = RUNTIME->application_namespace
          USERNAME              = ls_name
          SESSION_ID            = runtime->session_id
          DATA_NAME             = 'lv_page_data'
        CHANGING
          DATA_VALUE            = lv_page_data
       IF lv_page_data IS NOT INITIAL.
         IMPORT abc to transactionid
           FROM data buffer lv_page_data.
       ENDIF.
    still the code doesn't work. Please explain and guide
    Best Regards,
    Saurabh Tripathi

  • How to pass data from smartform to user exits in appl form print workbench

    Dear All,
    I am using print workbench + smartforms to develop a form.
    But facing problem with passing data from the smartform back to
    the user exits includes in the application form of the print workbench.
    For eg:- Supppose the case , passing the total number of pages 'sfsy-formapages'  to the application form .
    I tried with the export interface of the smartform, still it doesn't works!
    Any suggestions/solutions
    Thanks
    santhv

    Hi Prashanti,
    Thank you very much...
    Using EXPORT/IMPORT , I am able to pass the data.
    But I would like to know whether it is  the final solution.
    As there is export interface is available for smartform....
    why it is not possible to get back the data in Application form.
    Please confirm, so that I can close the post.
    Anyway thank you once again....
    Regards,
    santhv

  • Passing data from JavaScript to Applets (Error when trying to pass data)

    Hi,
    I've wrote a small applet for lists but when I try to pass data from my
    JavaScript to my applet, I get an "Error: Object doesn't support this property or method". I get this error with a select other sites including the page I'm writing, leading me to believe I may not have installed requried files or set required options. I've included the listing of the code snippet where the error occurs.
    document.listApplet.testMethod()OR when I use:
    document.applet(listApplet).testMethod()The applet is loaded by this statement:
    <OBJECT CODE="CustomAppletList" NAME="listApplet" ID="listApplet" WIDTH="1000" HEIGHT="600"></OBJECT>and loads fine but no data is passed through it's public methods. Can anyone suggest ideas how I can successfully pass data from my JavaScripts to my applets?
    Devyn

    this should work for you. In your javascript do this.
    var myApplet=document.listApplet;
    myApplet.testMethod()
    If you need more help let me know.
    Paul

  • Passing data from Javascripts to Applets

    Hi,
    I've wrote a small applet for lists but when I try to pass data from my
    JavaScript to my applet, I get an "Error: Object doesn't support this property or method". I get this error with a select other sites including the page I'm writing, leading me to believe I may not have installed requried files or set required options, though I've checked my settings . I've included the listing of the code snippet where the error occurs.
    document.listApplet.testMethod()OR when I use:
    document.applet(listApplet).testMethod()The applet is loaded by this statement:
    <OBJECT CODE="CustomAppletList" NAME="listApplet" ID="listApplet" WIDTH="1000" HEIGHT="600"></OBJECT>and loads fine but the error persists when attempting to call public method in my applet. Can anyone suggest ideas how I can successfully pass data from my JavaScripts to my applets?
    Devyn

    Hi,
    Thnx for the reply. I've tried as you suggested and modified my <OBJECT> line to:
    <OBJECT CODE="CustomAppletList.class" NAME="listApplet" ID="listApplet" WIDTH="1000" HEIGHT="600">
    <PARAM NAME="scriptable" VALUE="true"></PARAM>
    </OBJECT>But the error persists. I'm using IE6. I did not have such errors with IE5.
    I use the following code to test the applet tag I assigned at each step:
                        if (document.listApplet) {
                             document.write ("Applet Object (document.listApplet) exists.")
                        } else {
                             return
                        if (document.listApplet.object) {
                             document.write ("Applet Object (document.listApplet.object) exists.")
                        } else {
                             return
                        if (document.listApplet.object.testMethod) {
                             document.write ("Method textMethod() in applet has been validated and exists!")
                        } else {
                             document.write ("[2]")
                             return
                   document.write ("[11]")The debugging info from this code at the end of the html document I'm writing is:
    [1]Applet Object (document.viewer) exists.Applet Object (document.viewer.object) exists.[2][11]
    Devyn

  • How can I pass data from a form guide to another form in a business process

    How do we pass data from a form guide to another form(not necessarily a guide) without having to open the form. For example we have a small form guide to capture the contract id so we can then get data from contracts table to present to the user in a form. We want the user to open the guide (either Flex guide or form guide) to enter the contract id. Upon submission we want the process to get the contract data and put it into the form that will be opened at the next step by the user without having a user interact with the form to get the data into it. In other words we need the process to get the data and populate a different form than the form guide the contract id was entered in and this new form needs to be opened in the next step by the user.

    Firstly, I'm assuming that you have a Forms ES Server if you are rendering a Guide.  This could be either version ES1, ES2/2.5 or ES3/ADEP
    If you submit the form back to the server, you can populate a second (PDF/XDP) form with the data bound to the same schema/Data Model using Forms ES. 
    You referred to the next user in the chain - If you are using Process Management, this is very easy, as you define what form is used to render the data in the "Presentation & Data" section of the Assign Task activity

  • How to load data from a ODS to CUBE Request ID - by - Request ID?

    <i>How to load data from a ODS to CUBE Request ID - by - Request ID?</i>
    The problem is that... some requests had been eliminated of the cube and the delta control between the ODS and CUBE was lost. The flag "<b>data mart status of request</b>" of all the requests of the ODS had been blank.
    Now it is necessary to load some requests from the ODS for the cube.
    Notes:
    - it is not possible to make a complete load selecting the data to be loaded;
    - the PSA is not being used;
    - considering the data volume it is impracticable to reload the cube completely.
    Thanks in advance,
    Wesley.

    Dear R B,
    Considering the following:
    -> the delta control was lost;
    -> the data already are active in the ODS;
    -> part of the data of the ODS already is in the cube.
    The indicated procedure it only guarantees the load of the data that are in the ODS and that are not in the cube.
    Tks,
    Wesley.

  • I need to pass data from an Access database to Teststand by using the built in Data step types(open data

    base /open SQL Statement etc) the first time i defined the system everything was fine but when i changed the Database (using M.S.Access) the " open SQL Statement" it would show the tables but not thier columns ,I"m using win98 sec edition / Teststand 1.0.1i need to pass data from an Access database to Teststand by using the built in Data step types(open database /open SQL Statement etc) the first time i defined the system everything was fine but when i changed the Database (using M.S.Access) the " open SQL Statement" it would show the tables but not thier columns ,I"m using win98 sec edition / Teststand 1.0.1
    When I tried the same thing on another cmputer the same thing
    happend
    appreiciate u"r help

    base /open SQL Statement etc) the first time i defined the system everything was fine but when i changed the Database (using M.S.Access) the " open SQL Statement" it would show the tables but not thier columns ,I"m using win98 sec edition / Teststand 1.0.1Hello Kitty -
    Certainly it is unusual that you can still see the tables available in your MS Access database but cannot see the columns? I am assuming you are configuring an Open Statement step and are trying to use the ring-control to select columns from your table?
    Can you tell me more about the changes you made to your file when you 'changed' it with MS Access? What version of Access are you using? What happens if you try and manually type in an 'Open Statement Dialog's SQL string such as...
    "SELECT UUT_RESULT.TEST_SOCKET_INDEX, UUT_RESULT.UUT_STATUS, UUT_RESULT.START_DATE_TIME FROM UUT_RESULT"
    Is it able to find the columns even if it can't display them? I am worried that maybe you are using a version of MS Access that is too new for the version of TestSt
    and you are running. Has anything else changed aside from the file you are editing?
    Regards,
    -Elaine R.
    National Instruments
    http://www.ni.com/ask

  • Passing data from a panel to a frame / disposing of a frame from in a panel

    Hello, I have recently created a program where all windows are made of seperate frames, now, to make the whole thing a bit more appealing and professional looking, i'd like to make 1 main frame, and load my content panels into this 1 frame. Problem i'm having with this is passing data from the loaded in panel to the main frame, so the main frame can hide one panel to load another with data inserted in the first panel. OR another solution to my problem would be a way to dispose of a frame, but from within the seperate panel class. I have searched the www for a solution, but haven't found one so far, so, any suggestions or references to some info about this kind of issue? Any pointer is greatly appreciated

    kennethdm wrote:
    EDIT: I took a look at the cardlayout, and, although i see its relevance to my question, it still leaves me with the question how exactly i will pass data the user inputs into the first panel, to the second panel. The second panel is built by the info which is provided in the first panel.Stop thinking of them as Panels and start thinking of them as OOP objects that have data that must be shared. It's often a matter of using getters and setters and sometimes requiring a sprinkling of the Observer design pattern.

Maybe you are looking for