Hyperlink action not called within a table

Hello,
I have a problem with hyperlinks within a table.
I've populated table with data from web service and created one column with hyperlinks.
The event handler for those hyperlinks don't get processed when I press hyperlink.
If I create a hyperlink outside of table, the same action gets processed.
Seems like a table component is blocking the action call.
I've found a discussion with the same problem, but the problem isn't solved.
http://forum.java.sun.com/thread.jspa?forumID=881&threadID=5062175
public String pregledaj_action() {
        String zip = getHyperlink1().getText().toString();
        getSessionBean1().getPreglednikData().setZip(zip);
        int a = 12;
       return null;
    }Message was edited by:
mkash

Where are you populating your data model? A potential gotcha is to populate your data model in the prerender method which will mean that your table will render fine, but on the subsequent postback there is no data for the JSF component to work out which row was selected during the INVOKE_APPLICATION phase.
Put your datamodel population in init().
Hope this helps.

Similar Messages

  • Hyperlink action not called from within table

    I have two pages. Page1 has a table bound to a database listing all of the records in a customer table. Page2 has controls on it to display the details of a single customer record.
    On Page1 in the table I have made the record ID column a hyperlink. I want to save this selected ID for use on the page that the hyperlink points to. To accomplish this I added a property to my request bean. (Is this a good idea or does every page have its own request bean?) Anyway, I put code in my hyperlink1_action() method to save the current rowkey to my request bean.
    On Page2 in my prerender() method I am planning to jump to the rowkey stored in my request bean.
    It appears that my hyperlink1_action() method is never called. I have placed a breakpoint inside that method and the debugger never stops there. I have also placed a breakpoint within the prerender() method of Page2 and the debugger does stop there and I find that I have a null value stored in my request bean.
    Any insights? Feel free to speak up if I'm going about this the wrong way. I am new to Java Studio Creator and web development (previous Java experience was standalone-non-web apps).
    Thanks in advance for any help.

    Below is an excerpt from the JSP file defining the table that contains the column with a hyperlink:
    <ui:tableRowGroup binding="#{Page1.tableRowGroup2}" id="tableRowGroup2" rows="5"
         sourceData="#{Page1.tblcustomerDataProvider}" sourceVar="currentRow">
         <ui:tableColumn binding="#{Page1.tcolCustomerId}" headerText="Id" id="tcolCustomerId" sort="tblcustomer.lngCustomerId">
              <ui:hyperlink action="#{Page1.hyperlink1_action}" binding="#{Page1.hyperlink1}" id="hyperlink1" immediate="true"
                   text="#{currentRow.value['tblcustomer.lngCustomerId']}" url="/faces/Customer.jsp"/>
         </ui:tableColumn>Below is the definition of the hyperlink1_action() method that never seems to be called.
        public String hyperlink1_action() {
            // Find out what row was clicked
            RowKey rowkey = tblcustomerDataProvider.getCursorRow();
            // Save Customer Id so detail page knows what product to
            // provide detail info for
            getRequestBean1().setCurrentCustomer(rowkey);
            // Go to the detail page for that product's type
            return "case1";
        }I did not have the immediate property checked, so I tried checking it and saw no change. I have the url set to point at another page and clicking on a column with the URL appears to work fine, the specified page is opened.
    I do not have any virtual forms defined.
    Perhaps the function is called and I'm just not seeing any evidence of it. I have tried adding System.out.print statements but don't see my text in the out put window. I have tried adding break-points to the hyperlink funciton but the debugger does not stop.
    As far as the code I have pasted above for the hyperlink, it very well could be flawed (or the wrong way to go about what I am trying to accomplish) but as far as I know it has never been executed.

  • Command button action not calling when in subview

    i have a page that is fine when it's in it's own view...
    the command button calls a managed bean's method..
    <af:commandButton text="Call Method"
    action="#{backing_myPage.CallMethod}"
    binding="#{backing_myPage.commandButton1}"
    id="commandButton1"/>
    but when i remove the view tags and include it in a main index.jspx page
    that has a main view and a tabbed panel with showdetailitems and
    for each showdetaileditem i have a subview
    and then an include
    <f:subview id="discovered_subview" rendered="true"
    binding="#{backing_index.mypage_subview}">
    <jsp:include page="/mypage.jspx" />
    </f:subview>
    Mypage renders but the commandbutton's action is not called..
    but is called when run as a standalone page
    tia

    I also have the same problem as above. Changing the dropDown values to String does not fix it.
    I am using Netbeans Visual Web Pack.
    I drag a drop down box onto a brand new page.
    I double click the drop down box and in the processValueChange action i put System.out.println("Hello World");
    In the init() method i add 2 options to the drop down box:
    "option 1", "1"
    "option 2", "2"
    values are Strings
    I press F6 to run
    I notice that the drop down box is correctly populated.
    I change the drop down box selection
    Nothing is printed.

  • NW2004s SP12, action not called when Save button pressed

    Hi Experts,
    I have a strange behaviour in my Interactive form SAVE functionality. If its a large form, the SAVE button does not call corresponding action method in the implementation.
    However it does when the form size is small eg 1.5Mb or so.
    Please advise. This is quite urgent.
    Thanks in advance
    Mona

    Hi!
    If you commit the form and insert data after that,
    that data will not being commited to the database and got lost until you use
    something like forms_ddl ( 'commit' ); after the insert.
    :system.last_query, which is the very last query of a block in your form,
    will never show an insert in any trigger.
    May a commit-trigger is not a good place for an insert.
    But anyway, hope this help you.
    Regard
    Stauder

  • Button actions not called.

    I have a fairly complicated edt page (lots of data entry components and 3 tables) with a save and a reset button. Somewhere along the line the button actions stopped being called when I click a button in the browser. The buttons' Events-Action properties are set properly. I have a breakpoint set on the first line of the action method, but in debug mode I never get to the breakpoint.
    I even added a new button with its own action but it does not get called either.
    No virtual forms. I've run Clean and Build on the project. Stopped and started the server, closed and reopened the IDE. Nothing changes.
    I created a new test page with a single button. It works fine.
    Any other ideas?

    Do you have a message group component on the page?
    If the page was working but now has stopped, it could be that some component is not passing conversion or validation. If you don't have a message associated with the component or a message group component on your page, and some component is generating a runtime error, you won't know about it.
    Also, if you right-click the server node and choose View Server Log, you can see if the server is emitting any runtime error messages.

  • Action method called in standalone OC4j but not OAS

    I am setting up a test environment on Solaris x86 machine and have run into an odd issue concerning an action method being called which seems to be an issue for Oracle Application Server (OAS) but not an issue for stand alone OC4J.
    The application is using Java 5, Spring 2.5, Java Servlet 2.3, Struts 2, iBatis 2.2, Sitemesh, and Display Tag to name some of the parts that are in play.
    The platform is a Sun Fire X2100 server running Solaris 10 OS (64-bit). The application server version is 10.1.3 (Solaris x86, 64-bit) connecting to Oracle database server 10.2.0.2.0 (Solaris x86, 32-bit). The stand alone OC4J that I used for comparison was 10.1.3.4.0 (also run under the same Solaris machine but not while the application server was running).
    Going from one JSP that contains a list of items ("authority ids" in this case) to another JSP which displays detailed information about one item (chosen by clicking on a hyperlink in the list), it appears that the setter action method (which sets the 'sid' property) does not get called under OAS so the page displays empty fields. Same code running under the stand alone OC4J, the setter method does get called and the fields are populated on the details page. In both cases, both deployments are hitting the same database and the data is successfully retrieved from the database (into the action class). In both cases, the parameter that is set by this action method is present in the URL for the detail page.
    Snippet of code from the JSP that loads the authority ID list (and passes the sid in the URL):
    <display:table name="authorityIdList" cellspacing="0" cellpadding="0" requestURI=""
        defaultsort="1" id="authorityIdTypes" pagesize="25" class="table" export="true">
        <s:url id="editurl" action="editAuthorityId" includeContext="false">
          <s:param name="redirectUrl" value="%{returnUrl}"/>
        </s:url>
        <display:column property="fieldName" escapeXml="true" sortable="true" titleKey="authorityIdType.fieldName"; style="width: 34%" url="${editurl}"
          media="html csv xml excel pdf" paramId="sid" paramProperty="sid"/>Snippet from the authority ID detail form where the sid should be populated:
    <tr style="display: none"><td>
          <s:hidden key="sid"/>
            <s:hidden name="redirectUrl"/>
        </td></tr>Snippet from the action class that contains the setter for the sid property:
      public Integer getSid() {
            return sid;
      public void setSid(Integer sid) {
            this.sid = sid;
      }Snippet from the resulting html page for the list includes the sid for each item in the list.
    <td style="width: 34%">DODAAC</td>
    <td style="width: 25%">DODAAC</td></tr>
    <tr class="even">
    <td style="width: 34%">DODAAN</td>
    <td style="width: 25%">DODAAN</td></tr></tbody></table>Under the stand alone OC4J, the setter method is called, so the sid is populated (and the item detail data from the action is retrieved and displayed).
    Snippet from the resulting detail html page from the stand alone OC4J:
        <tr style="display: none"><td>
             <input type="hidden" name="sid" value="1" id="saveAuthorityId_sid"/>
            <input type="hidden" name="redirectUrl" value="http://system01:8888/MyApp/admin/authorityIdTypes.html"; id="saveAuthorityId_redirectUrl"/>
        </td>Notice that the sid value as well as the redirectUrl value are populated under standalone OC4J.
    Under OAS, the setter method is not called, so the sid is not set (and none of the other item detail fields are populated).
    Snippet from the resulting detail html page from OAS:
       <tr style="display: none"><td>
             <input type="hidden" name="sid" value="" id="saveAuthorityId_ sid"/>
            <input type="hidden" name="redirectUrl" value="" id="saveAuthorityId_redirectUrl"/>
        </td>Notice that the sid value as well as the redirectUrl value are empty under OAS.
    Any ideas on what I need to change in OAS configuration to make this work under OAS (if this is a configuration issue)?

    I found another case that may be clearer.
    A confirmation page on the application server shows that the redirect url is not being populated:
    <form id="confirmation" name="confirmation" onsubmit="return true;" action="/MyApp/admin/confirmation.html" method="post"><table class="wwFormTable">
         <input type="hidden" name="redirectUrl" value="" id="confirmation_redirectUrl"/>
       <tr>
        <td colspan="2"><div align="right"><input type="submit" id="confirmation_continue" name="method:proceed" value="Continue"/>
    </div></td>
    </tr>
    </table></form>Same code running on the standalone OC4j does populate the redirect URL:
    <form id="confirmation" name="confirmation" onsubmit="return true;" action="/MyApp/admin/confirmation.html" method="post"><table class="wwFormTable">
         <input type="hidden" name="redirectUrl" value="http://system01:8888/MyApp/admin/users.html" id="confirmation_redirectUrl"/>
       <tr>
        <td colspan="2"><div align="right"><input type="submit" id="confirmation_continue" name="method:proceed" value="Continue"/>
    </div></td>
    </tr>
    </table></form>So it appears that the application server is having problems passing parameters to pages.
    I have been digging through Oracle documentation, but I haven't found any clues on how to fix the issue.
    Any help would be appreciated.
    Thanks,
    - David

  • Solution to Button Action not being called in IE

    All,
    Thought I'd post a solution to a problem I had recently. I have seen variations on a theme elsewhere on the net.
    IDE: Java Studio Creator 2, Update 1.
    Problem: The button action associated with a button component on a jspx page is not called when using IE 6, but is called using M. Firefox 1.5.
    Background: The jspx page is a combination of one core jsp page and four jsp fragments (header, main nav bar, module nav bar, authorization code). Several components are present on the core jsp page (layout components, table, buttons), several on the header, main nav bar, module nav bar fragments (images, hyperlinks, text), JSTL and a lonesome form on the authorization fragment. You can see where I'm going....
    Solution: The problem was with the authorization fragment. The authorization fragment is meant to be dropped on pages that I want to protect from users without the authorized role, perhaps by these users trying to navigate to it by URL manipulation. I added some JSTL code to specifically look at the role authorization for the current session user. If not in that role, they are redirected to the home page. Navigation links are secured by similar authorization using the rendered property bound to session data. The form was the problem. Unfortunately, I didn't give much thought to the additional component I would need on the fragment. I had to add something so I picked a layout one. The IDE appears to require a component. To correct the problem, I simply set the rendered property to "false". IE 6 now works fine, M. Firefox 1.5 was always happy. Code example below...
    Code Pre:
    <?xml version="1.0" encoding="UTF-8"?>
    <div style="-rave-layout: grid; width: 400px; height: 200px" xmlns:c="http://java.sun.com/jstl/core" xmlns:f="http://java.sun.com/jsf/core"
        xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui">
        <c:if test="${SessionBean1.monitor==false}">
            <c:redirect url="/faces/Welcome.jsp"/>
        </c:if>
        <ui:form binding="#{MonCheck.form1}" id="form1" />
    </div>
    Code Post:
    <?xml version="1.0" encoding="UTF-8"?>
    <div style="-rave-layout: grid; width: 400px; height: 200px" xmlns:c="http://java.sun.com/jstl/core" xmlns:f="http://java.sun.com/jsf/core"
        xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui">
        <c:if test="${SessionBean1.monitor==false}">
            <c:redirect url="/faces/Welcome.jsp"/>
        </c:if>
        <ui:form binding="#{MonCheck.form1}" id="form1" rendered="false"/>
    </div>

    Hi there,
    Great to know you were able to fix your problem. Thanks for posting the solution as well, Im sure It'll help the community.
    Thanks
    K

  • Action &OBJECT_ID& does not exist - when Filtering Table

    Hey Everyone,
                             I am trying to implement filtering on a table (not alv).. i have followed the example in DEMO_TABLE.
    - have put the method in WDDOMODIFYVIEW, bound the filtervalue of each column, and implememented a toggle button to show and hide filter row and gave it a filtering function.. - basically exactly like DEMO_TABLE.
    but, when i enter a filter value.. i get this error.
    The following error text was processed in the system LXA : Action &OBJECT_ID& does not exist
    The error occurred on the application server vmsaple07_LXA_00 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: IF_WDR_RR_CONTROLLER~GET_ACTION of program SAPLWDR_RUNTIME_REPOSITORY
    Method: GET_ACTION_INTERNAL of program CL_WDR_CONTROLLER=============CP
    Also, something else thats not right is.. if i put an action under ONFILTER of the table.. The filter row appears when i am on Workbench... BUT when i test the application on the browser, the filter row doesnt appear!.. it did appear once, but its not appearing anymore.
    Thanks...

    hey, i figured it out.. My problem was in this part of WDDOMODIFYVIEW...
    Set or cancel the table's filter action
    IF l_is_filter_on = abap_true.
    l_table->set_on_filter( 'FILTER' ).
    ELSE.
    l_table->set_on_filter( '' ).
    ENDIF.
    You must pass the name of filtering action in the above code.. Just create an action(like below), and pass the action name to the - l_table->set_on_filter( 'FILTER' ) - in WDDOMODIFYVIEW.
    method ONACTIONFILTER.
    wd_this->table_method_hndl->apply_filter( ).
    endmethod.
    Edited by: imatari on Jul 24, 2010 7:25 PM

  • Not calling the action method??

    hi ..
    now i up with some common problem...
    i said as common problem coz i dont know where the error is occuring.
    here is the description.
    In my jsp
    i am having a panel tabbed pane with 2 panes.
    first pane contains some 20 text boxes with save button, used to save the entered records to the database.
    second pane contains the summary page which displays all the records from the respected table with select option button(radio). By selecting the single radio button we can edit the particular record by getting the same in the first tabbed pane fields...
    (here, i am using a javascript to select any one radio button in the form coz radio buttons are generated thru datatable)
    In java
    ======
    in constructor
    i populate all the data from the table to a list. and i display the populated data to the summay fields.
    save button action
    saving the data to the table
    edit the value
    updating the edited values
    Here, my problem is after entering all the fields in the first tabbed pane
    i click the save button. if there is no data in the table(database) all things working properly, but if there single data, save function is not calling. but the constructor are calling properly.
    i am using hibernate for the database conn.
    i know this is some sort of logical error, i am posting this only if any one who had already face this type of error(might be in setting session values).. suggestions plz..

    Hi;
    Your question is not related wiht Download forum side, Please post your issue on related Forum side:
    Forum Home » Developer Tools » JDeveloper and ADF
    Regard
    Helios

  • Yielding is not allowed within a C or metamethod call

    The way I'm developing my plug in is that I'm creating individual modules, testing those modules and then integrating the modules into my plugin. The individual modules work. However, I have a problem when I try to integrate.
    I'm using an anonymous function to call a function when a user presses a button. That function calls another lua file (is that a module?) If I place the require statement at the top of the file I receive the Yielding is not allowed within a C or metamethod call error.
    However, if I place the require statement within the function that specifically requires accessing the lua file then I don't receive the error. Clearly, I don't understand what's going on. Can anyone explain what is happening here?
    Thanks!

    Hey Rob,
    Thanks for helping me with this. Since this is so new to me, I'm all over the place and I'm having trouble even understanding what my problems are :-)
    Anyway, here's where I'm at:
    I have a button in sectionsForTopOfDialog. I have changed the action to be action = function() .... end
    When I press the button the function is called. The problem is when I call the LrHttp.post function. That's when the yield error is being thrown.

  • Show return value of a method-call within a column of ADF table component

    Hi,
    I'm currently developing a ADF "Master Form - Detail Table" component, which displays trips of a car in master form, and all related trip-point information in detail table. This detail table contains the following fields within a row :
    - idTripPoint
    - receivedAt
    - speed
    - coordinates
    Everything is displayed well when deploying my app. What I now want to implement is one more column into my detail table, which displays the result of a method-call which gets the coordinates of the corresponding tripPoint and executes a query to find the nearest neighbour to this point. This method afterwards returns a string which contains a textual description for the coordinates (e.g. 10 km south of Hilton Plaza). This method is defined within my SessionBean and also available within the Data Control Palette.
    What I first did, was just to drag the result (String) of my getTripPointDescription(JGeometry) method to a newly created column within my details table, released it there and set the corresponding NDValue for my method. I used the id of my details table table definition in PageDef for that (${bindings.TripstripPointsList.currentRow.dataProvider.coordinates}). I don't know if this is correct.
    When deploying my app, nothing happened, because my method has never been called. So I decided to implement an invokeAction within my PageDef which calls the generated methodAction within PageDef.
    It looks like that now:
    <executables>
    <invokeAction id="callDescription" Binds="getTripPointDescription"
    Refresh="prepareModel"/>
    </executables>
    <bindings>
    <methodAction id="getTripPointDescription"
    InstanceName="TripsEJBFacadeLocal.dataProvider"
    DataControl="TripsEJBFacadeLocal"
    MethodName="getTripPointDescription"
    RequiresUpdateModel="true" Action="999"
    IsViewObjectMethod="false"
    ReturnName="TripsEJBFacadeLocal.methodResults.TripsEJBFacadeLocal_dataProvider_getTripPointDescription_result">
    <NamedData NDName="tripPoint"
    NDValue="${bindings.TripstripPointsList.currentRow.dataProvider.coordinates}"
    NDType="oracle.spatial.geometry.JGeometry"/>
    </methodAction>
    </bindings>
    Now my method is called once for the coordinates of the first row of my detail table and the generated result is entered within each row.
    So how is it possible to get this standard-behaviour (within other application-frameworks) work in ADF? I just want to display a textual description of a coordinate instead of x/y coordinates within my table. And the corresponding method to get this textual description based on the x/y coordinate should be called for each row displayed in my table.
    I currently walked through all ADF-tutorials and blogs I found on the Internet, but every table example I found only displays data of the associated Entity-Bean. And method Action and accessorIterator are only used with command objects.
    Thank you,
    Thomas

    Sorry, I forgot to say which technologies I use:
    - Toplink Essentials JPA for Model layer (EJB 3.0)
    - ADF in View Layer
    I still hope someone can help me finding an answer.
    Bets Regards,
    Thomas

  • Button action event not call in dataprovider

    hi,
    i have JSF table and it's bound to Mysql database table. when i bound the table and run it's working properly but it's button action event is not call action. when i use static jsf table then it's table action event work properly.
    my jsp code is
    <ui:table binding="#{search.search_table}" id="search_table" lite="true" selectMultipleButton="true" sortPanelToggleButton="true"
                                style="height: 70px; left: 240px; top: 240px; position: absolute; width: 600px" title="Search Text :" visible="true" width="600">
                                <ui:tableRowGroup binding="#{search.tableRowGroup1}" id="tableRowGroup1" rows="5" sourceData="#{search.srch_tablevalDataProvider1}" sourceVar="currentRow">
                                    <!--    <ui:tableColumn headerText="Script" id="tableColumn2" width="700">
                                        <ui:staticText id="staticText4" text="#{currentRow.value['search_script']}"/>
                                    </ui:tableColumn>-->
                                    <ui:tableColumn binding="#{search.tableColumn13}" headerText="Search Word" id="tableColumn13" style="#{search.columnStyle}">
                                        <ui:staticText binding="#{search.search_word1}" id="search_word1" text="#{search.search_word1}"/>
                                    </ui:tableColumn>
                                    <ui:tableColumn binding="#{search.tableColumn4}" headerText="#{search_lang['search.contentName']}" height="39" id="tableColumn4"
                                        style="#{search.columnStyle}" width="100">
                                        <ui:staticText id="staticText1" onMouseOver="play_video(this);" text="#{currentRow.value['name']}"/>
                                    </ui:tableColumn>
                                    <ui:tableColumn binding="#{search.tableColumn6}" headerText="#{search_lang['search.srchTag']}" id="tableColumn6"
                                        sort="search_tags" style="#{search.columnStyle}">
                                        <ui:staticText id="staticText3" text="#{currentRow.value['search_tags']}"/>
                                    </ui:tableColumn>
                                    <ui:tableColumn binding="#{search.tableColumn5}" headerText="#{search_lang['search.tpDetail']}" id="tableColumn5" style="#{search.columnStyle}">
                                        <ui:imageHyperlink action="#{search.action}" id="imageHyperlink1" text="#{currentRow.value['details']}"/>
                                        <ui:button action="#{search.button2_action}" id="button2" text="Button"/>
                                    </ui:tableColumn>
                                </ui:tableRowGroup>
                             </ui:table>and back bean code is
    public String button2_action() {
            // TODO: Process the button click action. Return value is a navigation
            // case name where null will return to the same page.
            System.out.println("Invoke");
            return null;
        }i don't know what is problem there if found any solution, help me.

    You need to make sure that the getter of the datatable value returns exactly the same list in the apply request values phase of the form submit as it did during the render response phase of the initial display. Only this way JSF can find out which action which row was been invoked. Alternatively you can also place the data bean in session scope (which may have more impact), or use for example Tomahawk's t:dataTable with preserveDataModel attribute set to "true".

  • Button action is not calling

    Hi,
    I am new to JSF.
    Here is my problem.
    I have a select one menu and command button on a page
    When ever the page loads for the first time the select one menu is loaded with the data and the button should be disabled.
    When an item is selected from the menu the button should be enabled.
    Upto this part I finished.
    Now the problem is with button.When I click the button the corresponding action method is not calling.
    If the button is enabled during page load then the action method is calling when ever I click the button.
    But I need to make the button disabled until I select an item from the
    select one menu.In this case the action method is not calling when I click the button.
    Please help me.
    Thanks in advance

    Thanks for fast response.
    Here is my jsp code:
    <script>
         function enableLoad(){
         if(document.getElementById("form1:menu1").selectedIndex==0){
         document.getElementById("form1:loadTable").value = 'true';
         else{
         document.getElementById("form1:loadTable").value = 'false';
         document.getElementById("form1").submit();
         </script>
              <h:form styleClass="form" id="form1">
              <TABLE class="tableBorder" cellspacing="10" cellpadding="10">
              <TR>
              <TD width="230" align="right">
              <SPAN class="outputtext">Select The Table To Manage:</SPAN>
              </TD>
              <TD>
              <h:selectOneMenu styleClass="selectOneMenu" id="menu1" value="#{manageReferenceTablesMB.tableValue}"
    onchange="enableLoad()">
                                  <f:selectItems value="#{manageReferenceTablesMB.tableNames}" />
                        </h:selectOneMenu>
              </TD>
              </TR>
              <TR>
              <h:inputHidden id="loadTable" value="#{manageReferenceTablesMB.loadTable}"/>
              <TD colspan="2" align="right">
              <hx:commandExButton type="submit" value="Load Table"
                                  styleClass="commandExButton" id="button1" disabled="#{manageReferenceTablesMB.loadTable}"
                                  action="#{manageReferenceTablesMB.refTable}"></hx:commandExButton>
              </TD>
              </TR>
              </TABLE>
              </h:form>
    This is the backing bean code:
    public class ManageReferenceTablesMB extends BaseMB{
         public SelectItem[] tableNames;
         public String tableValue = "-1";
    public boolean loadTable ;
         public ManageReferenceTablesMB(){
              super(SessionConstants.MANAGE_REFERENCE_TABLES);
              if (this.getFromPageDataBuffer(SessionConstants.MANAGE_REFERENCE_TABLES) == null){
              System.out.println("in constructor");
              Hashtable results = new Hashtable();
              SwqmisFrontController controller = this.getFrontController();
              results = controller.getRefTableNames();
              tableNames = buildMenu((Vector) results.get("REF_TABLE_NAMES"));
              System.out.println("added data");
              System.out.println("........."+tableValue+"..........");
              this.addToPageDataBuffer(SessionConstants.MANAGE_REFERENCE_TABLES,this);
              }else{
                   this.tableNames = ((ManageReferenceTablesMB)this.getFromPageDataBuffer(SessionConstants.MANAGE_REFERENCE_TABLES)).tableNames;
                   this.tableValue = ((ManageReferenceTablesMB)this.getFromPageDataBuffer(SessionConstants.MANAGE_REFERENCE_TABLES)).tableValue;
                   this.loadTable = ((ManageReferenceTablesMB)this.getFromPageDataBuffer(SessionConstants.MANAGE_REFERENCE_TABLES)).loadTable;
         public String refTable(){
              System.out.println("IN REF TABLE");
              System.out.println("....."+tableValue+".......");
              Hashtable results = new Hashtable();
              SwqmisFrontController controller = this.getFrontController();
              results = controller.getRefTable(getDisplayText(tableNames,tableValue));
              if(results!=null && results.size()>1)
              System.out.println("success");
              else
              System.out.println("failure");
              return "success";
         * @return Returns the tableNames.
         public SelectItem[] getTableNames() {
              return tableNames;
         * @param tableNames The tableNames to set.
         public void setTableNames(SelectItem[] tableNames) {
              this.tableNames = tableNames;
         * @return Returns the tableValue.
         public String getTableValue() {
              return tableValue;
         * @param tableValue The tableValue to set.
         public void setTableValue(String tableValue) {
              this.tableValue = tableValue;
         * @return Returns the loadTable.
         public boolean isLoadTable() {
              return loadTable;
         * @param loadTable The loadTable to set.
         public void setLoadTable(boolean loadTable) {
              this.loadTable = loadTable;
    In the above backing bean code the loadTable value is false.
    So under this condition the action method is calling.B'cause the button is in enable state even there is no section in the menu.
    If I make loadTable=true then the action button is in disabled state until the menu item is selected. But the action method is not executing in this case.
    Thanks.

  • ADF VO Row Fetch Range Issue: Action is not called after 10th row

    Hi People!
    I am working with an Application here in which one page has a table based on a view object. This table has range navigation, and the VO configuration for Tuning is to fetch rows in batches of 1000, all in one fetch. Now, i have a single selection configured in this table, and also a button on the <tableActions> facet which calls a method on the backing bean.
    The problem is, for the first 10 rows of this table, the method is called (seen through the debugger), but when we move the selection to the 11th row or further, the page only refreshes but does not call the method.
    This is not a problem with the data, because we tried two other approaches:
    1) removed the range navigation and shown all the records in the same page: the error persists for the 11th row ahead
    2) changed the VO query to return only the 11th row from the previous test using its ID: the action is called, now that the row is the first on the rowset.
    Have you experienced similar behavior? Why the Action is not executed when the selected row comes after the tenth row?
    Any help is greatly appreciated!
    Regards
    Thiago Souza

    Hi Frank, thanks for the reply.
    I have assembled a step-by-step based on the HR schema. For this example, i have created an EmployeesVO based on the EMPLOYEES table, and an App Module to provide a data control. From then on:
    1) Create a JSF JSP to list the Employees VO
    1.1) Bind the JSF Page to a Backing bean
    1.2) Create an af:page element on the page
    2) Drag the EmployeesVO from the Data Control Palette to the af:page
    2.1) Read-Only Table, Selection Enabled
    2.2) Do not include table navigation.
    3) Double-Click the automatically created submit button on the TableSelectOne section
    3.1) Bind it to a method on the Backing Bean
    3.2) Add some code to it, in my case i tested:
         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Teste"));
    4) Run the example and try two approaches:
    4.1) select one of the first ten rows and click on the button: The action is fired.
    4.2) select the eleventh row and click on the button: The action is not fired.
    4.3) select one of the first ten rows again and click on the button: The action is fired.
    This example didn't even include range navigation, but if you want to test you will see the result is the same.
    Please let me know if you want further info.
    Thanks a lot!
    Thiago Souza

  • Strange behavior: action method not called when button submitted

    Hello,
    My JSF app is diplaying a strange behavior: when the submit button is pressed the action method of my managed bean is not called.
    Here is my managed bean:
    package arcoiris;
    import java.util.ArrayList;
    import java.util.List;
    import javax.faces.model.SelectItem;
    public class SearchManagedBean {
        //Collected from search form
        private String keyword;
        private String country;
        private int[] postcode;
        private boolean commentExists;
        private int rating;
        private boolean websiteExists;
        //Used to populate form
        private List<SelectItem> availableCountries;
        private List<SelectItem> availablePostcodes;
        private List<SelectItem> availableRatings;
        //Retrieved from ejb tier
        private List<EstablishmentLocal> retrievedEstablishments;
        //Service locator
        private arcoiris.ServiceLocator serviceLocator;
        //Constructor
        public SearchManagedBean() {
            System.out.println("within constructor SearchManagedBean");
            System.out.println("rating "+this.rating);
        //Getters and setters
        public String getKeyword() {
            return keyword;
        public void setKeyword(String keyword) {
            this.keyword = keyword;
        public String getCountry() {
            return country;
        public void setCountry(String country) {
            this.country = country;
        public boolean isCommentExists() {
            return commentExists;
        public void setCommentExists(boolean commentExists) {
            this.commentExists = commentExists;
        public int getRating() {
            return rating;
        public void setRating(int rating) {
            this.rating = rating;
        public boolean isWebsiteExists() {
            return websiteExists;
        public void setWebsiteExists(boolean websiteExists) {
            this.websiteExists = websiteExists;
        public List<SelectItem> getAvailableCountries() {
            List<SelectItem> countries = new ArrayList<SelectItem>();
            SelectItem si_1 = new SelectItem();
            SelectItem si_2 = new SelectItem();
            SelectItem si_3 = new SelectItem();
            si_1.setValue("2");
            si_1.setLabel("ecuador");
            si_2.setValue("1");
            si_2.setLabel("colombia");
            si_3.setValue("3");
            si_3.setLabel("peru");
            countries.add(si_1);
            countries.add(si_2);
            countries.add(si_3);
            return countries;
        public void setAvailableCountries(List<SelectItem> countries) {
            this.availableCountries = availableCountries;
        public List<SelectItem> getAvailablePostcodes() {
            List<SelectItem> postcodes = new ArrayList<SelectItem>();
            SelectItem si_1 = new SelectItem();
            SelectItem si_2 = new SelectItem();
            SelectItem si_3 = new SelectItem();
            si_1.setValue(75001);
            si_1.setLabel("75001");
            si_2.setValue(75002);
            si_2.setLabel("75002");
            si_3.setValue(75003);
            si_3.setLabel("75003");
            postcodes.add(si_1);
            postcodes.add(si_2);
            postcodes.add(si_3);
            return postcodes;
        public void setAvailablePostcodes(List<SelectItem> availablePostcodes) {
            this.availablePostcodes = availablePostcodes;
        public List<SelectItem> getAvailableRatings() {
            List<SelectItem> ratings = new ArrayList<SelectItem>();
            SelectItem si_1 = new SelectItem();
            SelectItem si_2 = new SelectItem();
            SelectItem si_3 = new SelectItem();
            si_1.setValue(1);
            si_1.setLabel("1");
            si_2.setValue(2);
            si_2.setLabel("2");
            si_3.setValue(3);
            si_3.setLabel("3");
            ratings.add(si_1);
            ratings.add(si_2);
            ratings.add(si_3);
            return ratings;
        public void setAvailableRatings(List<SelectItem> availableRatings) {
            this.availableRatings = availableRatings;
        public int[] getPostcode() {
            return postcode;
        public void setPostcode(int[] postcode) {
            this.postcode = postcode;
        public List<EstablishmentLocal> getRetrievedEstablishments() {
            return retrievedEstablishments;
        public void setRetrievedEstablishments(List<EstablishmentLocal> retrievedEstablishments) {
            this.retrievedEstablishments = retrievedEstablishments;
        //Business methods
        public String performSearch(){
            System.out.println("performSearchManagedBean begin");
            SearchRequestDTO searchRequestDto = new SearchRequestDTO(this.keyword,this.country,this.postcode,this.commentExists,this.rating, this.websiteExists);
            SearchSessionLocal searchSession = lookupSearchSessionBean();
            List<EstablishmentLocal> retrievedEstablishments = searchSession.performSearch(searchRequestDto);
            this.setRetrievedEstablishments(retrievedEstablishments);
            System.out.println("performSearchManagedBean end");
            return "success";
        private arcoiris.ServiceLocator getServiceLocator() {
            if (serviceLocator == null) {
                serviceLocator = new arcoiris.ServiceLocator();
            return serviceLocator;
        private arcoiris.SearchSessionLocal lookupSearchSessionBean() {
            try {
                return ((arcoiris.SearchSessionLocalHome) getServiceLocator().getLocalHome("java:comp/env/ejb/SearchSessionBean")).create();
            } catch(javax.naming.NamingException ne) {
                java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
                throw new RuntimeException(ne);
            } catch(javax.ejb.CreateException ce) {
                java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ce);
                throw new RuntimeException(ce);
    }Here is my jsp page:
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
             <html>
                 <head>
                     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                     <META HTTP-EQUIV="pragma" CONTENT="no-cache">
                     <title>JSP Page</title>
                 </head>
                 <body>
                     <f:view>
                         <h:panelGroup id="body">
                             <h:form id="searchForm">
                                 <h:panelGrid columns="2">
                                     <h:outputText id="keywordLabel" value="enter keyword"/>   
                                     <h:inputText id="keywordField" value="#{SearchManagedBean.keyword}"/>
                                     <h:outputText id="countryLabel" value="choose country"/>   
                                     <h:selectOneListbox id="countryField" value="#{SearchManagedBean.country}">
                                         <f:selectItems id="availableCountries" value="#{SearchManagedBean.availableCountries}"/>
                                     </h:selectOneListbox>
                                     <h:outputText id="postcodeLabel" value="choose postcode(s)"/>   
                                     <h:selectManyListbox id="postcodeField" value="#{SearchManagedBean.postcode}">
                                         <f:selectItems id="availablePostcodes" value="#{SearchManagedBean.availablePostcodes}"/>
                                     </h:selectManyListbox>
                                     <h:outputText id="commentExistsLabel" value="with comment"/>
                                     <h:selectBooleanCheckbox id="commentExistsField" value="#{SearchManagedBean.commentExists}" />
                                     <h:outputText id="ratingLabel" value="rating"/>
                                     <h:selectOneListbox id="ratingField" value="#{SearchManagedBean.rating}">
                                         <f:selectItems id="availableRatings" value="#{SearchManagedBean.availableRatings}"/>
                                     </h:selectOneListbox>
                                     <h:outputText id="websiteExistsLabel" value="with website"/>
                                     <h:selectBooleanCheckbox id="websiteExistsField" value="#{SearchManagedBean.websiteExists}" />
                                     <h:commandButton value="search" action="#{SearchManagedBean.performSearch}"/>
                                 </h:panelGrid>
                             </h:form>
                         </h:panelGroup>
                     </f:view>
                 </body>
             </html>
         here is my faces config file:
    <?xml version='1.0' encoding='UTF-8'?>
    <!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>
        <managed-bean>
            <managed-bean-name>SearchManagedBean</managed-bean-name>
            <managed-bean-class>arcoiris.SearchManagedBean</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
        </managed-bean>
        <navigation-rule>
           <description></description>
            <from-view-id>/welcomeJSF.jsp</from-view-id>
            <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>index.jsp</to-view-id>
            </navigation-case>
        </navigation-rule>
    </faces-config>The problem occurs when the field ratingField is left blank (which amounts to it being set at 0 since it is an int).
    Can anyone help please?
    Thanks in advance,
    Julien.

    Hello,
    Thanks for the suggestion. I added the tag and it now says:
    java.lang.IllegalArgumentException
    I got that from the log:
    2006-08-17 15:29:16,859 DEBUG [com.sun.faces.el.ValueBindingImpl] setValue Evaluation threw exception:
    java.lang.IllegalArgumentException
         at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.faces.el.PropertyResolverImpl.setValue(PropertyResolverImpl.java:178)
         at com.sun.faces.el.impl.ArraySuffix.setValue(ArraySuffix.java:192)
         at com.sun.faces.el.impl.ComplexValue.setValue(ComplexValue.java:171)
         at com.sun.faces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:234)
         at javax.faces.component.UIInput.updateModel(UIInput.java:544)
         at javax.faces.component.UIInput.processUpdates(UIInput.java:442)
         at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:935)
         at javax.faces.component.UIForm.processUpdates(UIForm.java:196)
         at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:935)
         at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:935)
         at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:363)
         at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:81)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
         at java.lang.Thread.run(Thread.java:595)
    2006-08-17 15:29:16,875 DEBUG [com.sun.faces.context.FacesContextImpl] Adding Message[sourceId=searchForm:ratingField,summary=java.lang.IllegalArgumentException)Do you see where the problem comes from??
    Julien.

Maybe you are looking for

  • Fire wire drive problem

    Hey all, I've got a problem when i plug in my firewire drive to my new MBP. It gives me the grey curtain of death. I've tried doing the usual like PVRAM and the PMU settings. It started when I was trying to add a partition to the drive using disk uti

  • What happened to the "Text Edits Tool" in Acrobat X?

    I know the answer is "it went away" but, seriously, please bring it back. In Acrobat 9, when you activated the "Text Edits Tool," it would automatically switch between insert, delete, and replace text in a context-sensitive way. You just had an activ

  • XI certification Questions

    Hi I am taking the XI developer certification C_TBIT44_04. Please send me any questions that you may have to [email protected] Thank you Deepthi

  • Revoking sys.utl_smpt  from PUBLIC

    Oracle 10.2. We have ASP application on the top. I granted sys.utl_smpt to ST schema/user Then I revoke sys.utl_smpt FROM PUBLIC. This caused 5 invalid objects: sys.utl_smtp, sys.utl_mail, sys.dbms_aqelm, st.mail_files, st.mail_pkg. After re-compiled

  • SEM BCS - Add characteristic in breakdown category

    Hi Gurus, In the breakdown category, there are many characteristics which is defined. For Example : Trading Partner, Transaction Currency. The Question is : How to add new characteristic in the breakdown category? Thanks In advance.