Dynamic backing bean

Hello
Someone can help me with the following issue?
Im working on an application that creates jsf pages based on user input. Its a tool where one user should build a questionnaire and another user has to ansewer it.
The component creation based on user(quetionnaire builder) input is working has well, but i dont have any idea how to store the inputs from the user that has to ansewer the questionnaire.
I need a way to dynamic generate a backing bean and create a valueBind with all UIInput Components, forcing the bean to store the ansewers in a collection.
Someone know how may i do this?
Maybe a hashMap in a backingBean solve my problem, but i dont know how to bind all components with the map... how to make my jsfComponents add their own key and value in a map?
Thanks, and sorry for my poor english.
Ferryman

Using a map to hold generated inputs is something I've used before and it works. I had a set of different classes that all knew how to create the JSF to add themselves to the form. When they added themselves, they bound the value to the map attribute using the name as specified on the constructor. The objects also know how to get the value out of the map. So during construction of the input form you loop through all these objects and tell them to add themselves to the input form, and then to get the values back you loop through the objects and ask them what the value is.
Here's another suggestion: how about using an h:dataTable to display a List of "QuestionBean"s.
Here's a sketch of what the code would look like:
public class QuestionBean {
  private String prompt;
  private String input = "";
  public void setPrompt( String p ) {
  // getPrompt, setInput, getInput...
public class QuestionsBean {
  String current_question_input;
  List questionList;
  public void getQuestionList() {
    return question_list;
  public void setCurrentQuestionInput( String qi ) {
    current_question_input = qi;
  public void addQuestion( ActionEvent e ) {
    QuestionBean qb = new Questionbean():
    qb.setPrompt( current_question_prompt );
     questionList.add( qb );
<h:dataTable value="#{questions.questionList}" var="var_question">
  <h:column>
    <h:outputText value="#{var_question.prompt}"  />
  </h:column>
  <h:column>
    <h:inputText value="#{var_question.input}" />
  </h:column>
</h:dataTable>

Similar Messages

  • How to read values of dynamic UI elements in a backing bean?

    Hi, I have an ADF page where some of the UI elements (in this case, checkboxes) are dynamically rendered as such:
    <af:forEach var="row" items="#{backing_testPage.userList}">
    <af:selectBooleanCheckbox id="checkbox" value="#{row.id}"
    text="#{row.name}" selected="#{row.userSelected}"/>
    </af:forEach>
    I am wondering how can I read the values of these checkboxes in my page's backing bean. It does not seem possible to specify a distinct binding value for the selectBooleanCheckbox elements in order to tie them to a CoreSelectBooleanCheckbox variable in my backing bean (so that I could check whether the checkbox is selected or not).
    When the page gets rendered, I did see that the checkboxes get assigned distinct ids like checkbox_1, checkbox_2, checkbox_3, etc... Not sure if that would help with this.
    Would appreciate any tips on this as I've been struggling with this for awhile. Thanks!

    You probably would do better with a SelectManyCheckbox. Here's how:
    In your backing bean you need:
    private String[] usernames;
    public String[] getUsernames () {
      return usernames;
    public void setUsernames (String[] _usernames) {
      usernames = _usernames;
    }In your page:
    <af:selectManyCheckbox value="#{backing_testPage.usernames}">
      <f:selectItems value="#{backing_testPage.userList}"/>
    </af:selectManyCheckbox>When the form is rendered any strings in the usernames array that are in the userList will be checked. When submitted, any checked items will be in the array.

  • Dynamically binding backing bean

    Dynamic binding of backing bean
    Here is a problem that I have been trying to solve. Maybe someone can have a go at it:
    Here is a Search form(Simplified version):
    af:selectOneChoice - to choice a 'class family' e.g., companies, NGO, charity, institution etc
    af:inputText - to enter a name
    af:commandButton – to search
    Here is a User task:
    1.     Choose a 'class family' from the selectOneChoice
    2.     Enter a name in inputText
    3.     Click commandButton to start the search
    Additional information
    1. The number of 'class family' is about 30 and requires different method of search.
    2. I want to use a uniform search user interface and so there is only one page for all.
    3. Each 'class family' has it own managed bean in face-config.xml.
    Scenario:
    Lets say the searchUI.jsp has an initial backing bean called SearchBean.java. The af:selectOneChoice in searchUI.jsp has a valueChangeListener and when the user chooses a 'class family' at step (1), the valueChangeListener in SearchBean.java is triggered.
    Problem:
    The problem is how do I dynamically switch the backing beans, say from SearchBean.java to SearchCompanyBean.java so that when the user next click the search commandButton, it is the searchAction method in the SearchCompanyBean.java and NOT the initial SearchBean.java that handles the action.
    Cheers in advance.

    Hi,
    Assuming you are using ADF BC, have a look at using view criteria. You can define, dynamically apply and remove view criteria on the view object.
    Have a look at the help on oracle.jbo.ViewCriteria and applyViewCriteria from the ViewObject implementation class. Sounds like they might meet your requirements.
    Create a client method on your VO and drag it onto your page as an ADF parameter form and go from there.
    Brenden

  • Reading Values from a Datatable to a backing bean

    I have a Datatable which has 3 columns.
    First Column is a Account Number and the Second Column gives the address of the Account Number.
    The Inputs 1 to 5 Account Number on the Previous Page. Depending on number of Accounts Input by the user - the datatable shows those many rows with address. Now the third column has 4 Input Text fields for New Address.
    Because the 3rd column is also generated dynamically how can I use the New Address entered by the user in my backing bean.
    The JSF Code is:
    <h:form id="frmManualDataEntryUpdateAddress">
        <tr:panelHeader styleClass="titleText" text="Update Address"/>
        <h:dataTable rows="25" rowClasses="oddRow,evenRow"
                     styleClass="columnSpace font_size" value="#{summaryList}"
                     var="summary">
            <h:column>
                <f:facet name="header">
                    <h:outputText styleClass="titleText" value="Keyline"/>
                </f:facet>
                <h:outputText rendered="#{summary.keyline != null}"
                              value="#{summary.keyline}"/>
            </h:column>
            <h:column>
                <f:facet name="header">
                    <h:outputText styleClass="titleText" value="Address"/>
                </f:facet>
                <h:outputText rendered="#{summary.lienHolderName != null}"
                              value="#{summary.lienHolderName}"/>
                <h:outputText rendered="#{summary.lienHolderAddressLine1 != null}"
                              value="#{summary.lienHolderAddressLine1}">
                    <f:verbatim>
                        <br/>
                    </f:verbatim>
                </h:outputText>
                <h:outputText rendered="#{summary.lienHolderAddressLine2 != null}"
                              value="#{summary.lienHolderAddressLine2}">
                    <f:verbatim>
                        <br/>
                    </f:verbatim>
                </h:outputText>
                <h:outputText rendered="#{summary.lienHolderCity != null}"
                              value="#{summary.lienHolderCity}">
                    <f:verbatim>
                        <br/>
                    </f:verbatim>
                </h:outputText>
                <h:outputText rendered="#{summary.lienHolderState != null}"
                              value=" #{summary.lienHolderState}"/>
                <h:outputText rendered="#{summary.lienHolderZip4 != null}"
                              value=" #{summary.lienHolderZip4}"/>
            </h:column>
            <h:column>
                <f:facet name="header">
                    <h:outputText styleClass="titleText" value="New Address"/>
                </f:facet>
                <tr:panelFormLayout>
                    <tr:panelLabelAndMessage label="Address Line 1"
                                             for="addressLine1">
                        <tr:panelHorizontalLayout>
                            <tr:inputText id="addressLine1" maximumLength="60"
                                          value="#{summary.acsEntry.acsAddressLine1}"></tr:inputText>
                        </tr:panelHorizontalLayout>
                    </tr:panelLabelAndMessage>
                    <tr:panelLabelAndMessage label="City" for="city">
                        <tr:panelHorizontalLayout>
                            <tr:inputText id="city" maximumLength="28"
                                          value="#{summary.acsEntry.acsCity}"></tr:inputText>
                        </tr:panelHorizontalLayout>
                    </tr:panelLabelAndMessage>
                    <tr:panelLabelAndMessage label="State" for="state">
                        <tr:panelHorizontalLayout>
                            <tr:inputText id="state" maximumLength="2"
                                          value="#{summary.acsEntry.acsState}"></tr:inputText>
                        </tr:panelHorizontalLayout>
                    </tr:panelLabelAndMessage>
                    <tr:panelLabelAndMessage label="Zip" for="zip">
                        <tr:panelHorizontalLayout>
                            <tr:inputText id="zip" maximumLength="60"
                                          value="#{summary.acsEntry.acsZip4}"></tr:inputText>
                        </tr:panelHorizontalLayout>
                    </tr:panelLabelAndMessage>
                </tr:panelFormLayout>
            </h:column>
        </h:dataTable>
    </h:form>

    I have a Datatable which has 3 columns.
    First Column is a Account Number and the Second Column gives the address of the Account Number.
    The Inputs 1 to 5 Account Number on the Previous Page. Depending on number of Accounts Input by the user - the datatable shows those many rows with address. Now the third column has 4 Input Text fields for New Address.
    Because the 3rd column is also generated dynamically how can I use the New Address entered by the user in my backing bean.
    The JSF Code is:
    <h:form id="frmManualDataEntryUpdateAddress">
        <tr:panelHeader styleClass="titleText" text="Update Address"/>
        <h:dataTable rows="25" rowClasses="oddRow,evenRow"
                     styleClass="columnSpace font_size" value="#{summaryList}"
                     var="summary">
            <h:column>
                <f:facet name="header">
                    <h:outputText styleClass="titleText" value="Keyline"/>
                </f:facet>
                <h:outputText rendered="#{summary.keyline != null}"
                              value="#{summary.keyline}"/>
            </h:column>
            <h:column>
                <f:facet name="header">
                    <h:outputText styleClass="titleText" value="Address"/>
                </f:facet>
                <h:outputText rendered="#{summary.lienHolderName != null}"
                              value="#{summary.lienHolderName}"/>
                <h:outputText rendered="#{summary.lienHolderAddressLine1 != null}"
                              value="#{summary.lienHolderAddressLine1}">
                    <f:verbatim>
                        <br/>
                    </f:verbatim>
                </h:outputText>
                <h:outputText rendered="#{summary.lienHolderAddressLine2 != null}"
                              value="#{summary.lienHolderAddressLine2}">
                    <f:verbatim>
                        <br/>
                    </f:verbatim>
                </h:outputText>
                <h:outputText rendered="#{summary.lienHolderCity != null}"
                              value="#{summary.lienHolderCity}">
                    <f:verbatim>
                        <br/>
                    </f:verbatim>
                </h:outputText>
                <h:outputText rendered="#{summary.lienHolderState != null}"
                              value=" #{summary.lienHolderState}"/>
                <h:outputText rendered="#{summary.lienHolderZip4 != null}"
                              value=" #{summary.lienHolderZip4}"/>
            </h:column>
            <h:column>
                <f:facet name="header">
                    <h:outputText styleClass="titleText" value="New Address"/>
                </f:facet>
                <tr:panelFormLayout>
                    <tr:panelLabelAndMessage label="Address Line 1"
                                             for="addressLine1">
                        <tr:panelHorizontalLayout>
                            <tr:inputText id="addressLine1" maximumLength="60"
                                          value="#{summary.acsEntry.acsAddressLine1}"></tr:inputText>
                        </tr:panelHorizontalLayout>
                    </tr:panelLabelAndMessage>
                    <tr:panelLabelAndMessage label="City" for="city">
                        <tr:panelHorizontalLayout>
                            <tr:inputText id="city" maximumLength="28"
                                          value="#{summary.acsEntry.acsCity}"></tr:inputText>
                        </tr:panelHorizontalLayout>
                    </tr:panelLabelAndMessage>
                    <tr:panelLabelAndMessage label="State" for="state">
                        <tr:panelHorizontalLayout>
                            <tr:inputText id="state" maximumLength="2"
                                          value="#{summary.acsEntry.acsState}"></tr:inputText>
                        </tr:panelHorizontalLayout>
                    </tr:panelLabelAndMessage>
                    <tr:panelLabelAndMessage label="Zip" for="zip">
                        <tr:panelHorizontalLayout>
                            <tr:inputText id="zip" maximumLength="60"
                                          value="#{summary.acsEntry.acsZip4}"></tr:inputText>
                        </tr:panelHorizontalLayout>
                    </tr:panelLabelAndMessage>
                </tr:panelFormLayout>
            </h:column>
        </h:dataTable>
    </h:form>

  • Using a backing bean in JDeveloper to assign bean class variables

    I am using JDeveloper 10 to make a jsp page that is a form full of inputs and buttons. JDeveloper then creates the setters and getters for you for the ids of the various inputs and buttons. I also have used JDeveloper to create a backing bean.
    The idea of this is to have the backing bean read in parameter(s) from an http source/link(when the form is loaded or instantiated) and assign those parameter(s) to one of the bean class local variables.
    The reason i want to do this is, is that when the form is loaded the first thing it will do is open up an available database(in the bean class constructor), then in the constructor call a function to do a database query that will return a result set that will then be used to fill up the form.
    That variable that is assigned by the backing bean will be the value of a unique database identifier for doing the sql query so that is why it is important that i get this value as the form loads.
    So simply i need to find out from someone how to do this. i am totally new to doing any jsp development or using managed beans and i have gotten far enough to launch the form, retrieve and write to the database using sql queries and all the rest.
    I just dont know enough about managed beans to make a decision on things like making the bean have a session scope. do i need request scope? if i change to request scope how do i make sure the database isn't being called every time the page changes or is refreshed?(when i had it as request scope the constructor was being called every time the page was reloaded and that isnt effecient at all, especially with multiple users). can you define more than one managed bean in one faces config file? do i have to manually change something in the jsp file to make sure things run smoothly?
    Just maybe things are easier than i see them to be and my only problem is that i just dont understand what i am doing. here is what my backing bean looks like now with just basic session scope.
    An example of course would be something like: http://host:port/context-root/faces/register.jsp?12345 - where 12345 would be the value that i would like to assign to a local variable in my bean class that can then be used for filtering out information via a query then filling up the form, all this happening at instantiation.
    <?xml version="1.0" encoding="windows-1252"?>
    <!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config xmlns="http://java.sun.com/JSF/Configuration">
    <managed-bean>
    <managed-bean-name>beanpackage</managed-bean-name>
    <managed-bean-class>beanpackage.beanclass</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <!--oracle-jdev-comment:managed-bean-jsp-link:1register.jsp-->
    </managed-bean>
    </faces-config>
    This is what i have now, i've tried tons of stuff on the web like assigned value parameters but just am stuck on exactly what to do as nothing has seemed to work. Any help would be appreciated. Thanks in advance!

    Hi,
    don't think you will get a readily programmed solution to this (though I wish you luck). Here's how I would approach the managed bean issue
    - One managed bean that you configure from a java.util.HashMap. This bean should be in requestScope (should be okay here). Say the bean is called "formFields", then adding data to it can be done with the following EL #{formBean['attribute_name']}. You need to add this as the value Expression of the inputText field you create dynamically. The filed will then read and write to the HashMap
    - Create a managed bean in session scope to handle the database interaction. Put this into session scope (e.g. "database")
    - Create a managed bean that holds the action listener that handles the update, insert and delete actions (e.g. logic handler). This bean has a JSF reference to the root component in the page (or the form layout component to add the fields to)
    The "database" bean is referenced from the logic handler managed bean using the #{database} expression, which you resolve using a ValueBinding (ExpressionBinding in JSF 1.2). Or, you configure the bean as a managed property.
    The logic managed bean also needs to reference the formFields bean (similar to above) to access the contained filed names and attributes. If the filed attributes match column names in the database then you should be all set
    Frank

  • How to track PropertyChangeEvent for the backing beans?

    Hello
    I'm working on JSF 1.2 + JDK 1.6. Would like to know wether any direct support for tacking the PropertyChangeEvent for the backing bean. Objective is to keep track of the modified entities ( backing bean) and update the corresponding Database records at later stage with the modified attribute/record.
    E.g:
    Assume a datatable is populated with list, and 3 rows alone is modified, So the DB update is supposed to happen only for those rows. I prefer to have the PropertyChange tracking logic in one place. Dont want to add PropertyChangeListener for all backing beans.
    Can anybody help me on this.
    Thanks in advance
    Jobinesh
    Edited by: JobineshP on Jun 20, 2008 6:52 AM

    This is no direct support in JSF for PropertyChangeEvents.
    As for other solutions to your problem, first looking specifically at the database updates, Hibernate tracks modifications to fields and can be configured to only update the needed columns (see the dynamic-update attribute). So perhaps Hibernate can suit your needs or you could use their techniques to solve your problem.
    Taking a wider view of the general problem of adding PropertyChangeListeners to managed beans, I would be inclined to use Spring and AOP to add the PropertyChangeEvents to all the setters. Spring might also help the configuration of the PropertyChangeListeners. Although I have to say that I think that PropertyChangeEvents are of limited use in a web application.
    Another approach might be to hook into the JSF EL expression engine. You could add a special ELResolver whose purpose is to discover when the property changes happen. The drawback is that all the setting must be done via the EL in order for this to work.

  • Faces: programmatically creating and populating iterator in a backing bean?

    Rather than relying on bindings in pageDefs, I'm attempting to create and populate a JUIterator binding in a backing bean. The goal is to allow the backing bean accessible to any web page as a session bean without having to hard code the iterator in every page's pageDef file.
    I haven't had any success on finding a demonstration showing how to do this programmatically and have come up with the following code as a hack:
    DCDataControl dataControl = bindingContainer.findDataControl("AppModuleDataControl");
    ApplicationModule appModule = dataControl.getApplicationModule();
    JUIteratorBinding iterator = new JUIteratorBinding(appModule, "SingleRowView1", "SingleRowView1Iterator");
    bindingContainer.addIteratorBinding(iterator);
    iterator.setRangeStart(0); // Exception raised here
    iterator.setRangeSize(1); // Or here
    iterator.executeQuery();  // Or here
    Row row = iterator.getCurrentRow();Note the SingleRowView1 is a VO exposed through my ADF BC AppModule and returns a single row and column.
    At the appropriate line marked "Exception raised here" an exception is thrown. On this line and the next 2 lines, it doesn't matter if I comment out one or the other, any 3 will raise an exception showing I've a problem with the iterator setup I guess?
    Anybody any hints on how we would construct the iterator dynamically? Do I have to create the individual attributes for the iterator? Have I not done something in correctly creating the iterator?
    Any help appreciated.
    Regards,
    CM.

    Chris,
    I don't have an answer for you but in JDeveloper 11 templating allows you to create a pagedef file that then is inherited by all pages. So chances are that what you build today is no longer needed tomorrow
    Frank

  • Where should backing bean for bounded-task-flow be declared?

    I have a bounded-task-flow that is used inside a dynamic region.
    I declared a managed bean to be used by activities (method/view) using the "backingBean" scope managed bean.
    There are two possible places that I can register the managed bean:
    1. adfc-config.xml
    2. the bounded-task-flow-definition.xml
    What are the differences between declaring the "backingBean" scope bean in "adfc-config.xml" and in the bounded-task-flow definition?
    What is the best practice for registering "backingBean" scope bean?
    If I understand correctly, registering the bean in adfc-config.xml is for one or more bounded-task-flow that use the same Bean class for instantiating their own backing bean. If the backing bean java class is only use by specific bounded-task-flow then it should make no difference to register the bean in either xml files.
    Am I correct?

    It should be registered within the bounded task flow for a couple reasons:
    1) Help maintain the encapsulation of the bounded task flow for reuse
    2) Managed bean definition metadata residing in adfc-config.xml or bootstrap configuration file will be preloaded when the ADF application is started. The actual managed beans will be instantiated the first time they are referenced. Therefore, to avoid the preload place them in the bounded task flow.
    thanks.

  • JSF EL: referencing programmatically generated backing beans

    Hi all,
    I create backing beans in Java code using the ValueBinding class:
    for(Question q : questions){
      ValueBinding vb = FacesUtilities.createValueBinding("#{requestScope.questionBean" + question.getId() + "}");
      vb.setValue(FacesContext.getCurrentInstance(), new QuestionBean(question));
    }No problem so far, but how can I reference these backing beans dynamically using the JSF EL?
    <c:forEach var="question" items="#{questionListBean.questions}">
      <h:outputText value="#{#{requestScope.questionBean}#{question.id}.type}"/>
      <h:outputText value="#{requestScope.questionBean#{question.id}.type}"/>
    </c:forEach>None of them seem to work because nesting expressions is not an option. Anybody got a clue?
    Thanks in advance!
    Kind regards,
    Dirk

    Make a List of QuestionBean objects and place that in the request scope instead.

  • UIData.setVar() not working on backing bean

    Hi,
    I'm having a problem trying to make setVar() work on my web app. The web app has to create a dynamic nested datatable from a resultset, so the number of columns and/or nested tables are unknown until runtime.
    I've searched around the forums as well and i've found only one reference to the sme problem. The thing is, i can't use the workaround placing the var attribute on the jsp since i have to be able to create datatables from the backing bean only. If there a jsf implementation where setVar works? I'm currently using 1.2_04.
    Thanks. =)

    If you feel there is a bug in the RI, then please log an issue with a test case.

  • ADF Faces Declarative Component onLoad event call Backing Bean Method

    Hello.
    We are trying to implement a declarative component, that will be used as Flex Fields for our application, ie, the components will be created dynamically through a database configuration, and who is responsible for organizing and creating the components, is the declarative components, and its own backing bean.
    The declarative component, will receive a List of custom components, and with this list it is possible to create the components dynamically. We want the components to be created as soon as the page is loaded. The developer could place this declarative component in any region of his page, and even in another tab if he wishes. The problem is, that we cannot register a load event in the declarative component, since it doesn't have a document Object, to call the declarative components backing bean method that is responsible for creating components.
    How could we simulate the onLoad (of the declarative components) so that the backing bean method (responsible for creating component, and putting it in the view tree) could be called ?
    I've tried with a RENDER_RESPONSE phaseListener, but the beforePhase has no objects in the tree, and the afterPhase has already rendered to the client.
    Any ideas on how to achieve this ?
    Thanks a lot.
    Regards,
    John

    Hi Frank, thanks for the response.
    I'm curious about the dynamic declarative component. Any place I could check it out ?
    Back to my scenario. I'll try to be more clear to what we need!
    We have to have dynamic creation of components, based on a database configuration. This will allow our customers to have custom flex fields, without the need of us developing custom pages for each customer.
    One solution we are trying out, is the declarative component. Why ? Because the developer (when developing the page), knows that this specific page, is possible of customization by the client (custom flex fields). With this, the developer would choose where on his page the custom flex fields will be placed. Note that at this point (design time), no component (input, buttrons, etc) is created. The idea of the declarative component, is just so the Developer knows where he wants the custom fields placed in his page (a tab, below the form fields, in a another panel group, and so on). The declarative component, has only a container, PanelFormLayout, and no other component.
    What we want, is a way of calling our managed bean (the managed bean of the declarative component, that now I did configure it in the adfc-config.xml file , thanks for the tip) method, that's responsible for creating the custom components. The declarative component, receives a list of all the custom fields that needs to be created, at design time, through an attribute. The developer is responsible for setting this list when he drags the declarative component on his page.
    Now that I've put the declarative components managed bean in the adfc-config.xml file, the @PostConstruct is called correctly, but I still have a problem. At this moment (postContstruct call), my component PanelFormLayout (that is binded to the managed bean), is null. So I cannot add any component to the PanelFormLayout.
    Am I way out of line here Frank ?
    Really appreciate your comments.
    Thanks a lot.
    John

  • How to call the backing bean method through javascript

    Hi
    I have a command button associated with actionListener . Action Listener method associated with backing bean methods.
    I want to fire the event on command button and backing bean method should be invoked from javascript dynamically.
    can anybody help me asap

    JSF<h:form id="formId">
        <h:commandButton id="buttonId" value="submit" actionListener="#{myBean.action}" />
    </h:form>JSdocument.getElementById('formId:buttonId').click();

  • How to call the show method of Popup from backing bean?

    Hi!
    I wanted to display the results of a search form in a dialog that is placed in popup.
    That is The content of the popup will be rendered from the backing bean, dynamically .
    And so when the form is filled and the submit button is clicked, the form fields have to be submitted to the server, and the results are to be displayed in the dialog,after the PPR response has arrived, and not at the time of calling the PPR.
    Could you explain How this can be achieved?
    Samba

    Samba,
    The fix for the popup in a template is to give the template an id say "template" and reference the popup in the JavaScript as "template:popupId", where popupId is the value of the af:popup's id attribute.
    Regarding DWR, Joe really did a nice job with this framework. I have to say he got my attention. The one issue though is that JavaScript is an absolute must when using DWR and other frameworks that have a heavy JavaScript tilt. Dealing with JS can be a bit of a hassle due to x-browser idionsyncrascies as well as slow exection of JS. That said I believe Joe has one of the best JS solutions around.
    On the flip side of this ADF Faces is trying to do something a bit different. Firstly, we want to avoid JS. The user should handle as little as JS as possible. In addition,
    ADF Faces has the benefit of a server-side component framework we want to leverage this to make sure there is a limited amount of JS execution on the client.
    So if you want to work with JS, DWR is a good solution. If you want to work with, Java, standards, and a great tooling environement ADF Faces is a better choice.
    Finally, "Reverse AJAX" is a marketing term for "Push". You probably have also heard the term Comet. There are some varations on the protocols used but all-in- all. We are talking about one thing, the ability for the server to "Push" information to the client. Luckily, we provide this ability in a feature called active data channels. You will see this feature in the next preview. By setting an attribute value in a pageDef trees, tables, and BAM components can recieve data from the server via "Push".
    Thanks,
    Ric

  • How To Customize displaying  of JSP page From Backing Bean

    I would like to customize the displaying of jsp page from backing bean based on user Roles
    For example
    - if the Role is Admin then backing bean should display Admin.jsp
    - if the Role is Guest then backing bean should display Guest.jsp
    Any pointers/suggestions will be highly appreciated
    Regards
    Bansi

    Thanks to all for providing thoughts
    I wanna make it more Dynamic. In the sense
    "Backing Beans should drive the rendering of first jsp page in the application " and not jsp page driving the backing bean or not to put some kind of hard coding in jsp page to see if its admin user then display certain set of UI Components or certain set of other UI components for other users.
    As we have atleast 10 different Roles and there can be Composite Roles i.e. combination of two roles. In this case how does the Backing Bean drives the rendering of jsp page?
    Regards
    Bansi

  • Calling a method on backing bean in response to contextual event

    Hi
    I am using Jdeveloper 11.1.1.6.0 and using ADF contextual events..
    I have a drop down list and i am rasiing a contextual event on changing the current selection. In response to that event i want to call a backing bean method with parameters.. But when i click on the subscriber section for the contextual event, i can see only some bindings of the page.. How can i call a method on backing bean as a subscriber..
    Thanks
    Raghu

    Hi,
    this article has a use case for the POJO approach: http://www.oracle.com/technetwork/issue-archive/2011/11-may/o31adf-352561.html
    Another is to define a method binding in the receiving PageDef file and configure it as explained here
    http://java.net/projects/smuenchadf/pages/ADFSamplesBindings/revisions/3#SMU164
    Frank

Maybe you are looking for

  • F110 Blocking all Invoices on a Vendor due to one Un-released PO.

    Hi All, We are implementing Vendor Downpayment functionality. I have done all the configuration and we did not activate the business object LOG_MMFI_P2P. We are just using the conventional Vendor Downpayment functionality. We get POs created from SRM

  • Adding a button in each row of table view

    Hi. In my application i have to add a button in each row of table view. i have done this by using UICatalog example. now problem is how I can handle the click events of these buttons. suppose i have 5 buttons in 5 rows ... now one of them is clicked(

  • HT201274 my phone has been spinning for about an hour what do i do ?

    ok so i reset all on my phone and it has been doing the little wheel for about an hour what do i do now? how long does it take my lock screen button is also broken any help would be greatly appreciated.

  • How can JAZN admin tool manage application realms?

    I am using the JAZN XML provider for the OC4J server realm and for another realm packaged in an application EAR file, i.e.: server realm: j2ee/home/config/jazn-data.xml application realm: j2ee/home/application-deployments/<app name>/jazn-data.xml (un

  • Why are my hotkeys not responding?

    Hello. Photoshop CS6 user here (Mac version). I'm having trouble with my hotkeys. I'm using Photoshop with an Intuos Wacom tablet along with my keyboard for hotkeys. Ever since the latest mac OS update, my hotkeys have not been responding. When I use