Calling a method before entering a page

Hi,
What is the best way for calling a method before entering a page in ADF, when this page is the fist page that user in enter into it in Application, I mean there is not any other page before this page ( in this case I am able to call that method in task flow with method call).
Also, I want this method calls only one time....
Thanks.
Edited by: Amir Khanof on Jun 29, 2010 5:19 AM

Hi,
one option would be to add a method for the afterPhase property of the f:view component on a JSPX page and listen for the after restore phase. Then check if the request (you get this from the FacesContext) is a GET request, which indicates that the page was requested from the browser and not in the process of navigating in the application. If the conditions are true, access the method and execute it
Frank

Similar Messages

  • How to call AMImpl method before loading the page(task_flow_config.xml)

    Hi experts,
    I have requirement like,
    I need to call AmImpl method, before rendering the page.(I heard like we can do it in task_flow_config.xml by using method_Invoke operation,But I am not sure about How it is going to work, also i need to know the implementation part,,,help pls )
    (I need to do in Task_Flow.)
    Inside that method I have some logic, where I will setting the BindVariable of my one ViewObject and I need to run the ViewOblect,So that DataShuold be available while page loading.
    I have some different logic after that,,,,
    can anyone suggest me for this??
    thanks
    Santosh

    thanks to Timo n TK,
    I have use case like,
    In the search page I have 2 LOV dropdowns say LOV1 and LOV2. Both list of values are created based on the independent View Objects based on the Query.
    LOV2 VO query is having the Bind Variable, for that Bind variable will be getting the value from the one of the AM method based on the user logged in.
    Also I need to display LOV2 dropdown in the page when user selects LOV1 as a 'SCM', for others it should be in hidden state.
    As per requirement I have to display LOV2 only for LOV1 value as 'SCM'. So I dont want to use valueChangeListner() for this.
    Instead I want populate LOV2 value before page rendering(because in that time i will be having all the parameter to populate ) by executing LOV2 VO Query.
    Once in search page user selects LOV1 as 'SCM', I should display 'LOV2' values in the dropdown.
    If i execute LOV2 VO in the AMImpl method say A() before page rendering ,then if user select LOV1 as 'SCM', will same data available in the dropdown (LOV2 dropdown is based on the LOV2VO)??
    Can u pls suggest me how can i render ,LOV2 when LOV1 as 'SCM' by using 'rendered' property without having valueChangeListner??
    pls suggest me the right approach as per my use case..
    waiting for reply,,
    Thanks
    Santosh

  • Can we call a method before and after Export operations in ADF 11g

    Hi,
    My problem is I have to execute a method before and after the export operation.Is this posible in ADF 11g
    Regards,
    Felix

    Hi,
    in response to a similatr post of yours, I replied
    1. Drop af:exportCollectionActionListener on a command button
    2. set the command button to display = false
    3. In your Java code, call
    ActionEvent ae = new ActionEvent(button);
    ae.queue();
    Everything you put before
    ActionEvent ae = new ActionEvent(button);
    ae.queue();
    will fires as a pre-trigger, everything after as a post trigger
    Frank

  • How to call a method when initialing the page?

    Help! I need to call a method to get some information from server to create a part of the page.
    But I don't konw what to do, Is there a function similar to the Flex's createComplete in JavaFX.
    please give me an example to show how to do that.

    DoStuff();
    Stage { scene: Scene { ... }}DoStuff() (or equivalent code at script level) will be executed first.
    You can also use the public override function run() function to ensure it is executed first.

  • Calling a method before page rendering begins

    I'm new to JSF. I'm looking for a way to get a method from my backing bean called AFTER page contents are initialized but BEFORE the page is rendered. I want to initialize some components dynamicaly and add them as children of an existing component, and then get everything rendered. How can it be done?

    What about binding a bean property to your component you wish to add to dynamically?
    Could you describe a little more of what you are trying to do? There may be a more elegant way of solving the problem.

  • Calling Controller method before page render

    Hi All,
    I have created menu in my web application using DHTML Tabber where each menu item is a link.
    I am using Facelets with JSF 1.2 .
    I want on click of each menu item a page should load in the body section of my template but before that I want a controllers method to be executed which would do some initializations. I cannot change the links in my menu to be <h:commandLink> since the menu is created using javascript (it cannot have <h:commandLink> in it) .
    How do I achieve this ?

    I think the issue here is generating the action on the server side when the link is selected.
    You might want to look into the solutions people have devised for so-called pretty URLs in JSF. Scales, a component library companion to Mojarra, the Sun RI, contains some support for these.
    Solutions that spring to mind off the top of my head are using a PhaseListener to detect the links and queue the event or using a placeholder component which processes the links in the decode (similar to how commandLink works).

  • How to execute a backing-bean method before loading JSP Page?

    Hi everybody.
    Scene:
    An AdfForm, with
    -SelectChoice, referenced to a <list> of pageDef, which is referenced to an ADF BC.
    Goal:
    -Executing the query of the ADF BC before load the SelectChoice, to load the correct values.
    A good question to know:
    Exists any way to execute a method of backing before loading a JSP Page?
    Any similar to onload method of javascript. It could be fantastic.
    Thanks in advance,
    Jaime

    hi Jaime
    If I understand correctly, you are using the ADF Model for data binding.
    Because your goal is "Executing the query of the ADF BC ...", maybe you can also consider to refresh an executable in your Page Definition.
    See also "10.5.5 How to Use Refresh Correctly for InvokeAction and Iterator Bindings"
    at http://download.oracle.com/docs/html/B25947_01/bcdcpal005.htm#BJECHBHF
    It says "... You can use the Refresh property on iterator bindings and invokeAction executables in your page definition to control when each are evaluated during the ADF page lifecycle, either during the prepareModel phase, the prepareRender phase, or both. ...".
    Although you have posted your question in a structured way, which is a good thing, I think it would help to understand your question if you can explain how you determine "the correct values" for your list, what is varying?
    success
    Jan Vervecken

  • Call a method before Next operation to set selected values

    Use Case: I display a VO as a ADF Select Many Check Box. This VO is the detail of a master/detail. I managed to store the selection state in a managed bean on autoSubmit. Then the user navigate to the next master record, then goes back to the previous record. The Previous and Next buttons were created using the Operations in the data controls. I would like to put back the selection state when clicking on Previous or Next.
    There is plenty of tutorial on how to get the selected values, but none on how to set the selected values. How would you do it?
    JDev 11gR1

    What I ended up doing:
    1. Redefine action listener for the navigation buttons
        public void nextQuestion(ActionEvent event) {
            saveSelectedState();
            navigateQuestion("Next");
            restoreSelectedState();
        private void navigateQuestion(String operation) {
            OperationBinding operationBinding = ADFUtils.findOperation(operation);
            operationBinding.execute();
    2. The save and restore selection state using bindings
         // Guava Multimap
        private ListMultimap<Number, Integer> selectedIndices;
        private void saveSelectedState() {
            // Get question id
            DCIteratorBinding questionBinding = ADFUtils.findIterator("QuestionsView1Iterator");
            Row question = questionBinding.getCurrentRow();
            Number questionId = (Number)question.getAttribute("Id");
            JUCtrlListBinding listBinding = (JUCtrlListBinding)ADFUtils.getBindingContainer().get("AnswersView2");
            int[] valueIndices = listBinding.getSelectedIndices();
            selectedIndices.putAll(questionId, Ints.asList(valueIndices));
        private void restoreSelectedState() {
            // Get question id
            DCIteratorBinding questionBinding = ADFUtils.findIterator("QuestionsView1Iterator");
            Row question = questionBinding.getCurrentRow();
            Number questionId = (Number)question.getAttribute("Id");
            int[] valueIndices = Ints.toArray(selectedIndices.get(questionId));
            JUCtrlListBinding listBinding = (JUCtrlListBinding)ADFUtils.getBindingContainer().get("AnswersView2");
            listBinding.setSelectedIndices(valueIndices);

  • Call Java Method on Commanlink action without page refresh

    Hi,
    I have a radio button in my application which on click calls a new JSP page inside DIV tag of the same JSP. Now before calling that JSP Page i want to perform some functionality . So i placed a commandlink on radio like this -
    <h:commandLink action="#{controller.deleteData}">
         <h:selectOneRadio id="licenseType" layout="lineDirection" value="#{controller.licenseType}" onclick="javascript:getServerInfo();">
                 <f:selectItem itemValue="#{dataTableItem}"/>
         </h:selectOneRadio>
    </h:commandLink> What I am looking for is that when a user clicks on Radio, first a Java method named deleteData() is called and then onclick() event of Radio is processed which loads a new JSP Page inside DIV tag beneath the radio button.
    But what happens is that as i click on Radio, command link takes precedence and refreshes the page.
    Is it possible for commanlink to just call the method and don't refresh or reload the page ????
    Plz assist with some code example

    Thanks Milind..... :-)
    I've not tried it as yet but i guess it would wok for radio.
    Is there any such event available for command link or command button too.... in which i just call the method on click and the page may not refresh ?
    Would "actionListener" event like this -
    <h:commandLink actionListener="#{controller.getsaveData}">call a java method and refresh the page or just call the method and leave the page as it is.
    If thats possible can u assist with some code examples ???
    USAGE :_ Actually I have a commandLink on which I have put a graphic Image "Submit" and on clicking of this image I just want the java method to be called but the page should not refresh or reload. Here is the code -
    <h:commandLink actionListener=" action="#{controller.getsaveData}">
                      <h:graphicImage url="/IMAGES/save_changes.JPG" height="27"
                                      width="136"/></h:commandLink>{code}
    Can u assist me with this Plz.{code}{code}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Any way (event) to call Java method after view created in JSF 2.0

    Hi,
    I am using JSF 2.0 Mojarra's implementation.
    I am interested to know if there is a way to call Java methods before and/or after view has been restored.
    I wanted to initialize data for my page in this Java method.
    I could see there is an event class PostRestoreStateEvent added in JSF 2.0. How to use it?
    I tired to use f:event element as below, but it does not work. Can anyone share anyother idea to achieve this behaviour?
    <f:metadata>
    <f:event type="postRestoreState" listener="#{employeeLoadBean.loadAfterRestoreView}"/>
    </f:metadata>
    Regards,
    Kishore K S

    Hi,
    The problem is solved as below.
    <f:metadata>
    <f:event type="javax.faces.event.PostRestoreStateEvent" listener="#{employeeViewEventListener.postRestoreState}"/>
    </f:metadata>
    The above calls the Java method #{employeeViewEventListener.postRestoreState} whenever View has been restored.
    It was not working when shortName of the event (ie., postRestoreState) is given and throwing ClassNotFound exception.
    Regards,
    Kishore K S

  • How to call a method in backing bean on hitting 'Enter' key on a page.

    Hi all,
    I would be obliged if any one can provide me solution for the below given problem.
    My requirement is to call a method in backing bean when i hit 'Enter' key on a JSP page.
    I am trying this by using a script given below.
    *function fnChangeFocus(){*
    *if(window.event.keyCode==13){*
    * document.getElementById("mainform:submitForm:commandbutton").focus();*
    The JSP has the textbox as given below.
    *<h:inputText id="inputtxtboxid" disabled="false" value="#{Bean.inputvalue}"*
    onkeypress="fnChangeFocus()" size="24" />
    Using this I could not acheive the required functionality. Please suggest some alternative.
    Thanks,
    Jagadeesh Pala

    Only a form element supports the submit() function. Make sure that the getElementById returns the appropriate form. Or rather pass the element as the 'this' reference to the function and get the parent form from it.
    After all this is just basic DHTML / Javascript+DOM knowledge and in fact this has nothing to do with JSF. For future basic DHTML / JS+DOM questions you may take a look at the appropriate forums, e.g. dhtmlcentral.com, dynamicdrive.com, etcetera.

  • Issue with calling a  method activity before page render

    Hi All,
    I am using Jdeveloper 11.1.1.7.
    I am trying to achieve the approach defined in "1.b. Calling a Method in Backing Bean:" elaborated in the blog - https://blogs.oracle.com/adf/entry/an_epic_question_how_to
    As illustrated, I defined a default method activity (binding to a method in managed bean) and a view activity activity in a bounded task flow.
    When I launch the application (running the view activity), following error is encountered -
    oracle.adf.controller.metadata.ParsingException: ADFC-02020: Cannot find default activity 'check' in task flow definition '/WEB-INF/task-flow-definition.xml#task-flow-definition'.
        at oracle.adfinternal.controller.metadata.model.xml.XmlUtil.createAndLogParsingException(XmlUtil.java:474)
        at oracle.adfinternal.controller.metadata.model.xml.MetadataResourceXmlImpl.parseTaskFlowDefinition(MetadataResourceXmlImpl.java:507)
        at oracle.adfinternal.controller.metadata.model.xml.MetadataResourceXmlImpl.parse(MetadataResourceXmlImpl.java:361)
        at oracle.adfinternal.controller.metadata.provider.mds.MdsMetadataResourceProvider.parseResource(MdsMetadataResourceProvider.java:748)
        at oracle.adfinternal.controller.metadata.provider.mds.MdsMetadataResourceProvider.getMDSCachedResourceOrParse(MdsMetadataResourceProvider.java:732)
    Please advise.
    Best Regards,
    Ankit Gupta

    Hi Cvele, Timo,
    Many thanks for the suggestions.
    To avoid confusions, I have created a new application altogether. It seems that the method call is not being called when I run the page.
    For your reference I have attached the task flow definition and method code below -
    Task Flow Definition
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-definition id="task-flow-definition">
        <default-activity id="__1">methodCall1</default-activity>
        <managed-bean id="__11">
          <managed-bean-name id="__13">TestBean</managed-bean-name>
          <managed-bean-class id="__10">TestBean</managed-bean-class>
          <managed-bean-scope id="__12">request</managed-bean-scope>
        </managed-bean>
        <view id="view1">
          <page>/view1.jspx</page>
        </view>
        <view id="exception">
          <page>/exception.jspx</page>
        </view>
        <method-call id="methodCall1">
          <method>#{requestScope.TestBean.checkURL}</method>
          <return-value id="__15">#{TestBean.checkURL}</return-value>
          <outcome id="__14">
            <to-string/>
          </outcome>
        </method-call>
        <control-flow-rule id="__2">
          <from-activity-id id="__3">methodCall1</from-activity-id>
          <control-flow-case id="__5">
            <from-outcome id="__6">go</from-outcome>
            <to-activity-id id="__4">view1</to-activity-id>
          </control-flow-case>
          <control-flow-case id="__8">
            <from-outcome id="__9">error</from-outcome>
            <to-activity-id id="__7">exception</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
      </task-flow-definition>
    </adfc-config>
    Method Code
    public String checkURL() {
    // Add event code here...
    System.out.println("method activity called");
    return "error";
    Best Regards,
    Ankit Gupta

  • How to call a class method from a jsp page?

    Hi all,
    i would like to create a basic jsp page in jdev 1013 that contains a button and a text field. When clicking the button, i would like to call a method that returns a string into the text field.
    The class could be something like this:
    public class Class1 {
    public String getResult() {
    return "Hello World";
    How do i go about this?
    Thanks

    Here is a sample:
    HTML><HEAD><TITLE>Test JDBC for Oracle Support</TITLE></HEAD><BODY>
    <%@ page import="java.sql.*, oracle.jdbc.*, oracle.jdbc.pool.OracleDataSource" %>
    <% if (request.getParameter("user")==null) { %>
    <FORM method="post" action="testjdbc.jsp">
    <H1>Enter connection Parameters</H1>
    <H5>Please enter host name:</H5><INPUT TYPE="text" name="hostname" value="localhost" />
    <H5>Please enter port number:</H5><INPUT TYPE="text" name="port" value="1521" />
    <H5>Service nanme:</H5><INPUT TYPE="text" name="service" value="XE" />
    <H5>Please enter username: </H5><INPUT TYPE="text" name="user" />
    <H5>Please enter password</H5><INPUT TYPE="password" name="password" />
    <INPUT TYPE="submit" />
    </FORM>
    <% } else { %>
    <%
    String hostName = request.getParameter("hostname");
    String portNumber = request.getParameter("port");
    String service = request.getParameter("service");
    String user = request.getParameter("user");
    String password = request.getParameter("password");
    String url = "jdbc:oracle:thin:" + user + "/" + password + "@//" + hostName + ":" + portNumber + "/" + service;
    try {
    OracleDataSource ods = new OracleDataSource();
    ods.setURL(url);
    Connection conn = ods.getConnection();
    // Create Oracle DatabaseMetaData object
    DatabaseMetaData meta = conn.getMetaData();
    // gets driver information
    out.println("<TABLE>");
    out.println("<TR><TD>");
    out.println("<B>JDBC Driver version</B>");
    out.println("</TD>");
    out.println("<TD>");
    out.println(meta.getDriverVersion());
    out.println("</TD>");
    out.println("</TR>");
    out.println("<TR><TD>");
    out.println("<B>JDBC Driver Name</B>");
    out.println("</TD>");
    out.println("<TD>");
    out.println(meta.getDriverName());
    out.println("</TD>");
    out.println("</TR>");
    out.println("<TR><TD>");
    out.println("<B>JDBC URL</B>");
    out.println("</TD>");
    out.println("<TD>");
    out.println(meta.getURL());
    out.println("</TD>");
    out.println("<TABLE>");
    conn.close();
    } catch (Exception e) {e.printStackTrace(); }
    %>
    <%-- end else if --%>
    <% } %>
    </BODY>
    </HTML>

  • How to call java file when entering the another jsp page.

    when i click the link to link to another page, when enter the page, how can i call java file and passing id parameter to call method, which is connected to DB.
    when enter the page, how can i call java file together with one arguement???

    I would strongly suggest to go the MVC way. Please perform all DB operations through a Servlet/Action instead of directly hitting the JSP and then invoking a java bean to do the DB operation. JSP should only do the rendering.

  • Calling a method in BPM Object from jsf page

    Hi All,
    How do I call a method in BPM object from JSF page? Is it possible to invoke it in a manner similar to invoking a method from managed bean in JSF application?
    Please help.
    Thanks and Regards,
    Veronica

    You can use f:invoke (or f:invokea to with parameters)
    For ajax calls, you can use f:invokeUrl to get the URL to a particular method within your BPM object, although make sure the Server-Side Method property is set to Yes.
    http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/taglib/index.html

Maybe you are looking for