JSF seems to not call a simple action method

I have a situation where it seems JSF is not performing one of it's basic functions--calling an action method in a backing bean based on a simple JSF EL expression.
Here's the relevant part of my JSP (the h:subview tags are there because another JSP includes this one):
-- my.jsp: ------------------------------------------------------------
<%@ page language="java" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:subview id="work-area">
<h:form id="peers-work">
     <h:commandButton id="edit" value="Edit"     action="#{peerBean.edit}" styleClass="actionButton" />
</h:form>
</f:subview>
--------------------------------------------------------------My faces-config.xml defines the "peerBean" as follows:
-- faces-config.xml: ------------------------------------------------------------
<faces-config>
  <managed-bean>
    <description>Session bean for performing Peer operations.</description>
    <managed-bean-name>peerBean</managed-bean-name>
    <managed-bean-class>com.myApp.PeerBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>
  <navigation-rule>
    <from-view-id>/my.jsp</from-view-id>
    <navigation-case>
      <from-outcome>success</from-outcome>
      <to-view-id>/editPeer.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
        <from-outcome>fail</from-outcome>
        <to-view-id>/error.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
</faces-config>
--------------------------------------------------------------And here's the action method in PeerBean:
-- PeerBean.java ----------------------------------------
public class PeerBean extends BaseBean implements Serializable {
    public PeerBean() {
    public String edit() {
        logger.debug("in edit().");
        Peer peer = this.getPeer(this.getId() );
        String outcome = "success"; // optimism!
        if (peer == null) {
            outcome = "fail";
        } else {
            this.setId(peer.getId() );
            this.setName(peer.getName() );
            this.setDescription(peer.getDescription() );
        return outcome;
--------------------------------------------------------------It compiles and runs fine, but when I click on the "Edit" button in my.jsp, the page submits but never enters the "edit" method (based on the fact that the logger call in the method does not write anything to the log.), and it simply re-displays my.jsp (even though it should go to the "success" or "fail" page, according to the navigation rules). I see a bunch of debug messages in the logs from the code that loads the page, but no indication that the edit method is touched. There are no stack traces or errors reported in any of the logs that Tomcat creates for this application.
Elsewhere in my application, I am able to use commandButton elements to trigger backing bean actions just like I'm trying to do above, and in other places it works fine. I don't know why the above case does not work.
Also, is there a way to put JSF in a debug mode that shows info such as the navigation outcome processing, JSF EL processing, etc.?
Any help would be appreciated!
Thanks,
Scott

I see. Thanks for the response.
I already have message and messages tag in the JSF, but no error message is displayed. Also, there is no error message in the tomcat log.
I actually found your tutorial ( http://balusc.blogspot.com/2008/01/jsf-tutorial-with-eclipse-and-tomcat.html ) yesterday, so when I saw your response, your name looked familiar but I did not immediately remember why. I Will be going through the tutorial now.
My application goes as far as the INVOKE APPLICATION phase, but never enters/executes the action method, can anyone please suggest any reason that could be the cause.
Please see code below:
JSF - status.jsp
============
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<f:loadBundle basename="com.fujimitsu.moneytransfer.resources.UIResources" var="bundle"/>
<html>
    <f:view>
    <head>
        <title><h:outputText value="#{bundle.registerStatus}"/> </title>
         <link href="../css/stylesheet.css" rel="stylesheet" type="text/css"/>
    </head>
        <body>
            <f:verbatim><p>JavaServer Faces Page</p>
            <p>
                 </p><table border="0" cellpadding="0" cellspacing="0" width="800">
                      <tr>
                           <td>
                                <h:graphicImage url="/images/resources.jpg" alt="#{bundle.img_alt_info}"/>
                           </td>
                      </tr>
                      <tr>
                           <td>
                                <h:messages globalOnly="false" styleClass="validationMessage" layout="table"/>
                                <p>
                                     <h:form id="statusManagedBeanForm">
                                          <h:panelGrid columns="3">
                                               <h:outputText value="#{bundle['statusField.status']}"/>
                                               <h:inputText id="status" value="#{statusManagedBean.status}"/>
                                               <h:message for="status" styleClass="validationMessage"/>
                                               <h:outputText value="#{bundle['statusDescField.statusDesc']}"/>
                                               <h:inputText id="statusDesc" value="#{statusManagedBean.statusDesc}"/>
                                               <h:message for="statusDesc" styleClass="validationMessage"/>
                                               <h:outputText value="Created By:"/>
                                               <h:inputText id="createdBy" binding="#{statusManagedBean.createdBy}"/>
                                               <h:message for="createdBy" styleClass="validationMessage"/>
                                          </h:panelGrid>
                                          <h:commandButton action="#{statusManagedBean.createStatusAction}" type="submit" value="Submit"/>
                                     </h:form>
                                </p>
                           </td>
                      </tr>
                 </table>
            </f:verbatim>
        </body>
    </f:view>
</html>
HTML code of status.jsp before the submit button is clicked
===========================================
<form id="statusManagedBeanForm" name="statusManagedBeanForm" method="post" action="/moneytransferFaces/pages/status.jsf" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="statusManagedBeanForm" value="statusManagedBeanForm" />
<table>
<tbody>
<tr>
<td>Status</td>
<td><input id="statusManagedBeanForm:status" type="text" name="statusManagedBeanForm:status" /></td>
<td></td>
</tr>
<tr>
<td>Status Desc</td>
<td><input id="statusManagedBeanForm:statusDesc" type="text" name="statusManagedBeanForm:statusDesc" /></td>
<td></td>
</tr>
<tr>
<td>Created By:</td>
<td><input id="statusManagedBeanForm:createdBy" type="text" name="statusManagedBeanForm:createdBy" /></td>
<td></td>
</tr>
</tbody>
</table>
<input type="submit" name="statusManagedBeanForm:j_id_jsp_948632549_16" value="Submit" /><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id4:j_id5" />
</form>
HTML code of status.jsp after the submit button is clicked
==========================================   
Please note:   action="/moneytransferFaces/pages/status.jsf"   ,  is this what it is supposed to be?
<form id="statusManagedBeanForm" name="statusManagedBeanForm" method="post" action="/moneytransferFaces/pages/status.jsf" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="statusManagedBeanForm" value="statusManagedBeanForm" />
<table>
<tbody>
<tr>
<td>Status</td>
<td><input id="statusManagedBeanForm:status" type="text" name="statusManagedBeanForm:status" /></td>
<td></td>
</tr>
<tr>
<td>Status Desc</td>
<td><input id="statusManagedBeanForm:statusDesc" type="text" name="statusManagedBeanForm:statusDesc" /></td>
<td></td>
</tr>
<tr>
<td>Created By:</td>
<td><input id="statusManagedBeanForm:createdBy" type="text" name="statusManagedBeanForm:createdBy" /></td>
<td></td>
</tr>
</tbody>
</table>
<input type="submit" name="statusManagedBeanForm:j_id_jsp_948632549_16" value="Submit" /><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id1:j_id3" />
</form>
STATUS BEAN
===========
package com.fujimitsu.moneytransfer.beans;
import javax.faces.component.html.HtmlInputText;
public class Status {
     private String status;
     private String statusDesc;
     private HtmlInputText createdBy;
     public Status() {
     public HtmlInputText getCreatedBy() {
          return createdBy;
     public void setCreatedBy(HtmlInputText createdBy) {
          this.createdBy = createdBy;
     public String getStatus() {
          return status;
     public void setStatus(String status) {
          this.status = status;
     public String getStatusDesc() {
          return statusDesc;
     public void setStatusDesc(String statusDesc) {
          this.statusDesc = statusDesc;
     public String createStatusAction() {
          this.setStatusDesc("testing createStatusAction()...");
          return "success";
FACES CONFIG
============
<?xml version="1.0" encoding="UTF-8"?>
<!--
     Copyright 2003 Sun Microsystems, Inc. All rights reserved.
     SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
-->
<!DOCTYPE faces-config PUBLIC
  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
  "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
     <application>
          <locale-config>
               <default-locale>en</default-locale>
          </locale-config>
     </application>
     <managed-bean>
          <managed-bean-name>statusManagedBean</managed-bean-name>
          <managed-bean-class>
               com.fujimitsu.moneytransfer.beans.Status
          </managed-bean-class>
          <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
     <navigation-rule>
          <from-view-id>/pages/status.jsf</from-view-id>
          <navigation-case>
               <from-outcome>success</from-outcome>
               <to-view-id>/pages/home.jsf</to-view-id>
          </navigation-case>
     </navigation-rule>
     <navigation-rule>
          <from-view-id>/pages/status.jsp</from-view-id>
          <navigation-case>
               <from-outcome>success</from-outcome>
               <to-view-id>/pages/home.jsp</to-view-id>
          </navigation-case>
     </navigation-rule>
     <lifecycle>
          <phase-listener>
               com.fujimitsu.moneytransfer.utils.PrintTreePhaseListener
          </phase-listener>
     </lifecycle>
</faces-config>
web.xml
======
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
     <!--A short name that is intended to be displayed by tools.-->
     <display-name>The simplest JSF application.</display-name>
     <servlet>
          <servlet-name>Faces Servlet</servlet-name>
          <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
     </servlet>
     <servlet-mapping>
          <servlet-name>Faces Servlet</servlet-name>
          <url-pattern>/faces/*</url-pattern>
     </servlet-mapping>
    <servlet-mapping>
          <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
          <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
</web-app>
DIRECTORY STRUCTURE
====================
appName
            pages
            WEB-INF
            .........Thanks.

Similar Messages

  • Unable to call the backend action method

    Hi,
    First of all,I would like to let you know that I am not very much familiar with jsf. My problem is as follows:
    I have a jsf page having some input text boxes,one gridview component( Infragistics jsf component) and a submit button. On submit, I am trying to call one managedbean action method. The gridview component has further two columns,one input text box and one h:selectonemenu component.
    When I try to submit the page, it doesn't call the managedbean action method.The gridview component has one attribute called datasource which is basically a list.During debugging, I found that on submitting the page, it goes to getter of datasource.
    One thing I noticed that If I remove the h:selectonemenu from the gridview component, the action method gets called.
    Can any body please suggest me where could be the problem?
    Thank you

    Hi Guys,
    Thanks for your solutions and answers. My problem was solved.
    But again I have similar kind of problem. This time I have h:selectOneRadio component which seems to be causing the problem because if I remove this, the call goes to action method. It's again seems to be conversion or validation error.As suggested,I have tried putting <h:message> for this component but I get a warn message in console like "Unable to find component with ID 'categorylist' in view". I further saw in the html source of the page and indeed found that the id was not there.I have no idea about it,why it's happening.
    I have following code snippet for jsp page:
    <div id="inner_body" style="height: 550px;">
                                  <h:outputText value="#{msg.Manage_MED_CLASS}" styleClass="title" />
                                  <h:messages globalOnly="true" styleClass="error" />
                                  <f:verbatim>
                                       <br />
                                       <br />
                                  </f:verbatim>
                                  <br />
                                  <ig:gridView id="medclassdefnitionlist"
                                       dataSource="#{medClassManagedBean.medClassDefinitions}">
                                       <ig:column>
                                            <f:facet name="header">
                                                 <h:outputText value="Med class definition"></h:outputText>
                                            </f:facet>
                                            <h:outputText value="#{DATA_ROW.medClassDef}"></h:outputText>
                                       </ig:column>
                                       <ig:column>
                                            <f:facet name="header">
                                                 <h:outputText value="Classification(Controlled/Uncontrolled)"></h:outputText>
                                            </f:facet>
                                            <h:selectOneRadio id="categorylist"
                                                 value="#{DATA_ROW.medClassCategory}"
                                                 style="white-space: nowrap">
                                                 <f:selectItem itemLabel="Yes" itemValue="true" id="itemid1"/>
                                                      <f:selectItem itemLabel="No" itemValue="false" id="itemid2"/>
                                            </h:selectOneRadio>
                                            <h:message for="categorylist" styleClass="error"></h:message>
                                       </ig:column>
                                  </ig:gridView>
                                  <f:verbatim>
                                       <br />
                                       <br />
                                  </f:verbatim>
                                  <h:panelGrid columns="2" cellpadding="4" cellspacing="3">
                                       <h:commandButton image="../../../images/btn_save.gif"
                                            accesskey="S"
                                            action="#{medClassManagedBean.saveMedClassDefinition}"
                                            style="outline: none;"></h:commandButton>
                                       <h:commandButton accesskey="C" style="outline: none;"
                                            image="../../../images/btn_cancel.gif"
                                            action="backtoreportinglevel" />
                                  </h:panelGrid>
                             </div>Under ig:gridView component, I have two columns, in the first one h;outputtext is there while in the 2nd one h:selectOneRadio is there. I tried putting immediate="true" in h:commandButton , and then the call goes to the action method. So, it is definitely failing in either validation or conversion phase.
    The following is my java code snippet:
    public ArrayList<MedClassBackingBean> getMedClassDefinitions() {
              try {
                   medClassDefinitions = new ArrayList<MedClassBackingBean>();
                   HttpServletRequest request = (HttpServletRequest) FacesContext
                             .getCurrentInstance().getExternalContext().getRequest();
                   HttpSession session = request.getSession();
                   String hospitalCode = (String) session
                             .getAttribute(Constants.HOS_GLO_EXCLUSION_SESSION_VAR);
                   MedGroupBD medGroupBd = new MedGroupBD();
                   List<Object[]> medClassList = medGroupBd
                             .getMedClassDefinitionsForHospital(hospitalCode);
                   //populateMedClassCategoryList();
                   if (UtilityFunctions.isNotEmpty(medClassList)) {
                        for (Object[] medClass : medClassList) {
                             MedClassBackingBean medClassBackingBean = new MedClassBackingBean();
                             medClassBackingBean.setHospitalCode(hospitalCode);
                             medClassBackingBean.setMedClassDef(medClass[0].toString());
                             if (medClass[1] != null) {
                                  if (medClass[1].toString().equals("Controlled")) {
                                       medClassBackingBean.setMedClassCategory("true");
                                  } else {
                                       medClassBackingBean.setMedClassCategory("false");
                             } else {
                                  medClassBackingBean.setMedClassCategory("false");
                             medClassDefinitions.add(medClassBackingBean);
              } catch (Exception e) {
                   log.error(e.getMessage(), e.getCause());
              return medClassDefinitions;
         }The above code returns the list for the ig:gridView datasource. "medClassCategory" is the property of backing bean which is mapped for the value attribute of h:selectOneRadio component. The managed bean is in the request scope.Right now on submit of form, first the call goes to this method "getMedClassDefinitions" and then I found like call goes to setter of medClassCategory property in the backing bean as well and sets the changed value from the UI but it never goes to the action method.
    Please see if anybody can help me.
    Thank you,
    Edited by: dacsinha on Nov 27, 2009 6:36 AM

  • How to call javascript function & action method on clicking jsf  button?

    I have one jsf custom button. I am checking client side validations in mail by calling javascript function & also sending mail by calling action method of a bean which will execute at server side for onclick event of that button. Because of this when I click on that button its calling both javascript function and action method. So even though validations failed its sending mail. How can I overcome this problem?? Please help me....

    I am asking regarding commanLinks in jsf. I have the following code block in jsf. Even though mailSentMessage('true'); returns false, its calling action="#{emailObjectAction.sendEmail}" method. thats why I got that doubt. try the following code.
    <h:commandLink id="mailBtn123Send"      onclick="return mailSentMessage('true');" value="send mail"     action="#{emailObjectAction.sendEmail}">          
    </h:commandLink>

  • Action method not being called

    Using jdev 10.1.3.4 with jsf/adf bc. I have two af:table components on a jsf page. I'll call them table A and table B. In table B, I have an input text with autosubmit=true and hooked up to a valuechangelistener. One of the columns in table B is a command button. Initially, I was having problems when the user changed the input value in table B and then immediately clicked the button in table B. Sometimes when the button was clicked, the backing bean method associated with it was not executing. Thanks to Didier's advice in this forum (Re: PPR and submit I was able to get this functionality working consistently.
    I still have a problem though. Table A has a command LINK as one of the columns, which executes a method in the backing bean when clicked. However, as in the scenario above, if the user changes a value in the input text in table B and in this case immediately clicks the LINK in table A, it seems that the action method behind the button in table A executes the first time but if user repeats steps (changes value of input in table B and immediately clicks LINK in table A) the action method is not called after the first time. For testing, there is no real code in the backing bean method. The only code in the action method is an sop so I can tell if the method was executed. Likewise, the value change listener method, for testing purposes, has a sop so I can tell if/when it is executed and the thread.sleep(400) code needed per Didier's workaround. I'll include the code from jspx:
    In the jspx -
    <afh:body firstClickPassed="true">
    <h:form>
    <!-- table A -->
    <af:table value="#{bindings.Summary.collectionModel}" var="row"
    rows="#{bindings.Summary.rangeSize}"
    first="#{bindings.Summary.rangeStart}">
    <af:column headerText="#{bindings.Summary.labels.PositionNbr}">
    <af:inputText value="#{row.PositionNbr}"/>
    </af:column>
    <af:column>
    <af:commandLink text="Click" action="#{backing_levelone_untitled2.buttonClicked}"/>
    </af:column>
    </af:table>
    <!-- Table B -->
    <af:table value="#{bindings.BdCommentsView.collectionModel}" var="row"
    rows="#{bindings.BdCommentsView.rangeSize}"
    first="#{bindings.BdCommentsView.rangeStart}">
    <af:column headerText="#{bindings.BdCommentsView.labels.CommentId}">
    <af:inputText value="#{row.CommentId}"
    required="false" />
    </af:column>
    <af:column headerText="#{bindings.BdCommentsView.labels.Comments}">
    <af:inputText value="#{row.Comments}"
    required="false" autoSubmit="true" valueChangeListener="#{backing_levelone_untitled2.isValid}"/>
    </af:column>
    <af:column>
    <af:commandButton text="Click" action="#{backing_levelone_untitled2.buttonClicked}"/>
    </af:column>
    </af:table>
    </h:form>
    </afh:body>
    I need the backing bean method behind the LINK in table A to be fired consistently, every time user makes a change to input of table B and immediately clicks LINK in table A. It works the first time, but all subsequent attempts will not result in the action method being executed. Hope someone can help.
    Edited by: user12341229 on Dec 11, 2009 3:24 PM

    I'm not sure if this is considered a bug, but I found that if I use a commandLink in table A, my code doesn't work as expected. However, I found that by using a commandButton in table A the functionality works as expected. I still would like to hear some feedback on this if anyone is interested in recreating the scenario. Thanks.

  • CommandButton does not call action method ?

    Hi BalusC or JSF gurus,
    I have a requirement to build a database table and update the row in the database table followed with save.
    I used this from posts : http://balusc.xs4all.nl/srv/dev-jep-dat.html.
    It was very excellent. Thanks BalusC.
    table.jsp:
    <h:dataTable rows="0" value="#{LCCircuitUtil.circuitList}" var="currentRow" binding="#{LCCircuitUtil.dataTable}">
    <h:column>
    <f:facet name="header">
    <h:outputText value="Circuit Name"/>
    </f:facet>
    <h:commandLink action="#{LCCircuitUtil.editLinkAction}">
    <h:outputText value="#{currentRow.circuitId}"/>
    </h:commandLink>
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="Audit Comments"/>
    </f:facet>
    <h:commandLink action="#{LCCircuitUtil.editLinkAction}">
    <h:outputText value="#{currentRow.auditComment}"/>
    </h:commandLink>
    </h:column>
                   <h:column>
    <f:facet name="header">
    <h:outputText value="Start Date"/>
    </f:facet>
    <h:commandLink action="#{LCCircuitUtil.editLinkAction}">
    <h:outputText value="#{currentRow.startDate}"/>
    </h:commandLink>
    </h:column>
                   <h:column>
    <f:facet name="header">
    <h:outputText value="End Date"/>
    </f:facet>
    <h:commandLink action="#{LCCircuitUtil.editLinkAction}">
    <h:outputText value="#{currentRow.endDate}"/>
    </h:commandLink>
    </h:column>
                   <h:column>
    <f:facet name="header">
    <h:outputText value="Status "/>
    </f:facet>
    <h:commandLink action="#{LCCircuitUtil.editLinkAction}">
    <h:outputText value="#{currentRow.status}"/>
    </h:commandLink>
    </h:column>
    </h:dataTable>
    <h:commandButton value="New" action="#{LCCircuitUtil.newButtonAction}"/>
         </h:panelGroup>
    Upon click the link or newButtonAction i am able to see the edit.jsp with the populated row values..
    <h:form id="EditCircuitForm">
    <h:panelGrid columns="2">
    <h:outputLabel value="CIRCUIT ID" rendered="#{LCCircuitUtil.circuitTO.circuitId > 0}"/>
    <h:outputLabel value="#{LCCircuitUtil.circuitTO.circuitId}" rendered="#{LCCircuitUtil.circuitTO.circuitId > 0}"/>
    <h:outputLabel value="Audit Comment"/>
    <h:inputText value="#{LCCircuitUtil.circuitTO.auditComment}"/>
    <h:outputLabel value="Start Date"/>
    <h:inputText value="#{LCCircuitUtil.circuitTO.startDate}"/>
                   <h:outputLabel value="End Date"/>
    <h:inputText value="#{LCCircuitUtil.circuitTO.endDate}"/>
                   <h:outputLabel value="Status"/>
    <h:inputText value="#{LCCircuitUtil.circuitTO.status}"/>
    </h:panelGrid>
              <h:commandButton value="Save" action="#{LCCircuitUtil.saveAction}"/>               
    <h:commandButton value="Cancel" action="return" immediate="true"/>
              <h:inputHidden value="#{LCCircuitUtil.circuitTO.circuitId}"/>     
    </h:form>
    Save Action in LCCircuitUtil.java
         public String saveAction()
              System.out.println("saveAction ");
         this.updateCircuit(circuitTO);
         System.out.println("End saveAction");
         return "return";
    Issue : I am not able to call saveAction from the edit.jsp..It does not call the save Action in the backhand Managed Bean
    Thanks,
    bk

    hi balusC,
    I have not set any validation criteria anywhere(may be later)..
    <h:panelGrid columns="2">
    <h:outputLabel value="CIRCUIT ID" rendered="#{LCCircuitUtil.circuitTO.circuitId > 0}"/>
    <h:outputLabel value="#{LCCircuitUtil.circuitTO.circuitId}" rendered="#{LCCircuitUtil.circuitTO.circuitId > 0}"/>
    <h:outputLabel value="Audit Comment"/>
    <h:inputText id="ip1" value="#{LCCircuitUtil.circuitTO.auditComment}"/>
    <h:outputLabel value="Start Date"/>
    <h:inputText id="ip2" value="#{LCCircuitUtil.circuitTO.startDate}"/>
                   <h:outputLabel value="End Date"/>
    <h:inputText id="ip3" value="#{LCCircuitUtil.circuitTO.endDate}"/>
                   <h:outputLabel value="Status"/>
    <h:inputText id="ip4" value="#{LCCircuitUtil.circuitTO.status}"/>
                   <h:message for="ip1" /><br>
                   <h:message for="ip2" /><br>
                   <h:message for="ip3" /><br>
                   <h:message for="ip4" /><br>               
    </h:panelGrid>
    I didn't receive any error messages..When i save it refreshes the same page.
    Thank you,
    bk
    Message was edited by:
    kbalas78

  • Action method of backing bean called multiple times instead of once.

    Hi,
    My backing bean has an action method called "saveEquipmentList" that's called when a "Save" button is clicked. The problem is, this method gets executed twice every time the button is clicked so data gets peristed twice, db triggers get executed twice, etc., it's really pretty annoying. I've put the bean method's code and the JSF command button below, notice that there's a check for FacesContext.getRenderResponse() that I put in for debugging, the code doesn't get executed at all if I leave the FacesContext.getRenderResponse() in, sure, you're saying "So what's you point", no point, just thought I'd explain why the check is in there.
    Thanks,
    Alex
    public synchronized String saveEquipmentList() throws Exception {
    // Order is very important.
    if (FacesContext.getCurrentInstance().getRenderResponse()) {
    System.out.println("GOT RENDER RESPONSE... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
    try {
    loadEquipmentCodesMap(); // Loads map from equip_code_ids in the DB.
    updateEquipCodesMap(); // Updates total for objcode/type to sum of equipment items for that objcode/type.
    saveEquipmentCodes(); // Saves to equipment_codes table.
    loadEquipmentCodesMap();
    updateDataList();
    savedataList();
    updateTotals();
    loadEquipmentList();
    catch (Exception e) {
    setErrMessage("Error saving equipment: " + e.getMessage());
    return "success";
    }else{
    //facesContext.getCurrentInstance().renderResponse();
    return "success";
                                <h:panelGroup id="pg54">
                                  <h:commandButton id="save" disabled="#{(user.role == '2' and backing_equipmentScreen.viewOnly) or
                                                                                          (user.role == '1' and !backing_equipmentScreen.viewOnly)}"
                                                   value="Save"
                                                   action="#{backing_equipmentScreen.saveEquipmentList}"
                                                   styleClass="input"/>
                                </h:panelGroup>

    Here's the phase listener output before clicking the "Save" button (which calls the saveEquipmentList() action method), I pasted it all, from app started to breakpoint, couldn't get it all in due to the 30K char constraint:
    [EJB 3.0]: Assigning default-data-source=jdbc/FedAppDS, specified in projects EJB 3.0 properties
    [Starting OC4J using the following ports: HTTP=8992, RMI=23898, JMS=9233.]
    C:\Dev\JDeveloper10.1.3.3\jdev\system\oracle.j2ee.10.1.3.41.57\embedded-oc4j\config>
    C:\Dev\JDeveloper10.1.3.3\jdk\bin\javaw.exe -server -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=53366 -classpath C:\Dev\JDeveloper10.1.3.3\j2ee\home\oc4j.jar;C:\Dev\JDeveloper10.1.3.3\jdev\lib\jdev-oc4j-embedded.jar -Xms256m -Xmx1024m -Xverify:none -XX:MaxPermSize=256m -DcheckForUpdates=adminClientOnly -Doracle.application.environment=development -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doc4j.jms.usePersistenceLockFiles=false oracle.oc4j.loader.boot.BootStrap -config C:\Dev\JDeveloper10.1.3.3\jdev\system\oracle.j2ee.10.1.3.41.57\embedded-oc4j\config\server.xml
    [waiting for the server to complete its initialization...]
    Listening for transport dt_socket at address: 53366
    Debugger connected to local process.
    Sep 16, 2009 11:00:34 AM com.evermind.server.jms.JMSMessages log
    INFO: JMSServer[]: OC4J JMS server recovering transactions (commit 0) (rollback 0) (prepared 0).
    Sep 16, 2009 11:00:34 AM com.evermind.server.jms.JMSMessages log
    INFO: JMSServer[]: OC4J JMS server recovering local transactions Queue[jms/Oc4jJmsExceptionQueue].
    Sep 16, 2009 11:00:44 AM com.evermind.server.ejb.logging.EJBDeploymentMessages warningGetBeansFromEJBModule
    WARNING: [current-workspace-app:Fed-EOY-EXP_UserInterface_0] EJB module contains no beans.
    Ready message received from Oc4jNotifier.
    Embedded OC4J startup time: 19859 ms.
    Target URL -- http://10.1.38.77:8992/Fed-EOY-EXP/faces/login.jspx
    09/09/16 11:00:48 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Short,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Short)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Byte,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Byte)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Integer,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Integer)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Long,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Long)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Float,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Float)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Double,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Double)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ValidatorRule end
    WARNING: [ValidatorRule]{faces-config/validator} Merge(javax.faces.LongRange)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.DateTime,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Number,null)
    Sep 16, 2009 11:01:01 AM com.sun.faces.config.rules.NavigationRuleRule end
    WARNING: [NavigationRuleRule]{faces-config/navigation-rule} Merge(*)
    09/09/16 11:01:02 BeforePhase: RESTORE_VIEW 1
    Sep 16, 2009 11:01:02 AM oracle.adfinternal.view.faces.application.ViewHandlerImpl _checkTimestamp
    INFO: ADF Faces is running with time-stamp checking enabled. This should not be used in a production environment. See the oracle.adf.view.faces.CHECK_FILE_MODIFICATION property in WEB-INF/web.xml
    09/09/16 11:01:02 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:02 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:05 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:05 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:05 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:05 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:05 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:05 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:05 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:05 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:06 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:06 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:06 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:06 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:10 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:10 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:10 BeforePhase: APPLY_REQUEST_VALUES 2
    09/09/16 11:01:10 AfterPhase: APPLY_REQUEST_VALUES 2
    09/09/16 11:01:10 BeforePhase: PROCESS_VALIDATIONS 3
    09/09/16 11:01:11 AfterPhase: PROCESS_VALIDATIONS 3
    09/09/16 11:01:11 BeforePhase: UPDATE_MODEL_VALUES 4
    09/09/16 11:01:11 AfterPhase: UPDATE_MODEL_VALUES 4
    09/09/16 11:01:11 BeforePhase: INVOKE_APPLICATION 5
    09/09/16 11:01:11 LoginBean.login(): Here I is...1
    09/09/16 11:01:11 LoginBean.login(): Here I is...2
    09/09/16 11:01:11 LoginBean.login(): Here I is...2.1
    09/09/16 11:01:11 LoginBean.login(): Here I is...2.2
    09/09/16 11:01:11 LoginBean.login(): Here I is...3
    09/09/16 11:01:11 LoginBean.login(): Here I is...4
    09/09/16 11:01:11 LoginBean.login(): The user's full name is Red Sonia.......................................
    09/09/16 11:01:11 LoginBean.login(): The user's role is Admn.......................................
    09/09/16 11:01:11 LoginBean.login(): Here I is...5
    09/09/16 11:01:11 AfterPhase: INVOKE_APPLICATION 5
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:11 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:11 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4027 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4173 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5027 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5173 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6027 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6173 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 3120
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 3130
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 3131
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4041
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4048
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4367
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5126
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5323
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 8600
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 9013
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:16 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:16 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:16 BeforePhase: APPLY_REQUEST_VALUES 2
    .

  • How to call a simple bean from jsp in weblgic 6.1

    Hi All,
    Can any one help me , my problem is i have a jsp that is calling a simple bean method for displaying a message .
    When im trying to call the beans methods it conntinusly giving me error unable to resolve the Beans' name
    my jsp content is:
    <%@ page language="java" import="com.Arvind*"%>
    <jsp:useBean id="mybean" scope="session" class="com.Arvind" />
    <%
         out.println("Hello"+mybean.callMe());
    %>
    beans is :-
    package com;
    public class Arvind
         private String st ="This Is Me??";
         public String callMe(){
              System.out.println("Hello World!");
              return st;
         public static void main(String[] args)
              System.out.println("Hello World!");
    i have tried it a lot but all time it fails resolve the class name itself ??
    can anyone please help me urgently
    thanks in advance
    rgds
    Birendar

    It might compile perfectly well, but the message suggests that you didn't deploy it properly. The class loader can't find it.
    That .class file should appear with its package directory structure under the WEB-INF/classes directory or in a JAR in your WEB-INF/lib directory in some WAR file. Does it?

  • Why findCtrlBinding fails in action method?

    And here we are...
    In JDeveloper 10.1.3 EA I have a JSF JSP page with backing bean.
    Drag and drop a View Object (called "VoPolizasAsociadasEntidadExterna1") from Data Contol Palette as ADF Table Read-Only. The table is called "tablePolizas".
    Drag and Drop an ADF CommandButton from Component Palette. The button is called "cmdBtnCrear".
    In the backing bean I have a private method to execute my ViewObject, (as you will see, ViewObject has a bind variable):
    private void ejecutarConsultaPolizas(){
    DCBindingContainer dcbc;
    DCControlBinding cb;
    String rutEntidad;
    ViewObject vo;
    FacesContext ctx =FacesContext.getCurrentInstance();
    ValueBinding vb = ctx.getApplication().createValueBinding("#{SessionManager.rutEntidad}");
    rutEntidad = vb.getValue(ctx).toString();
    dcbc = this.getBindingContainer();
    cb = dcbc.findCtrlBinding("VoPolizasAsociadasEntidadExterna1");
    vo = cb.getViewObject();
    vo.setNamedWhereClauseParam("RUT_ENTIDAD", rutEntidad);
    vo.executeQuery();
    Then I call this method within the "getter" method of the tablePolizas table. Works fine:
    public CoreTable getTablePolizas() {
    ejecutarConsultaPolizas();
    return tablePolizas;
    The ADF Table show filtered data as expected !!!!
    But when ejecutarConsultaPolizas() method is called from action method of CommandButton "cmdBtnCrear":
    public String cmdBtnCrear_action() {
    ejecutarConsultaPolizas();
    return null;
    The following exception is thrown:
    javax.faces.FacesException: #{backing_CrearUsuario.cmdBtnCrear_action}: javax.faces.el.EvaluationException: java.lang.NullPointerException
    In debug mode run step by step and encounter that exception is thrown in the following line of ejecutarConsultaPolizas():
    cb = dcbc.findCtrlBinding("VoPolizasAsociadasEntidadExterna1");
    The ejecutarConsultaPolizas() method fails when is called from an action method. Why?
    There is something in the JSF Life-Cycle that I must consider?
    JSF/ADF got me going crazy!!!!!
    Thanks for your help!

    You need to add the reference to the ADF binding using managed properties on the bean
    In the backing bean create
    private BindingContainer bindings;
    public BindingContainer getBindings() {
    return this.bindings;
    public void setBindings(BindingContainer bindings) {
    this.bindings = bindings;
    In the faces-config.xml file ad the following to your backing bean configuration
    <managed-bean>
    <managed-bean-name>your bean name</managed-bean-name>
    <managed-bean-class>your.bean.class</managed-bean-class>
    <managed-bean-scope>request or session or application</managed-bean-scope>
    <managed-property>
    <property-name>bindings</property-name>
    <value>#{bindings}</value>
    </managed-property>
    </managed-bean>
    <managed-bean>
    In your backing bean code you can now use
    getBindings() to access the business service. Note that you need to call the getDataProvider and the cast it to the BC AM
    Frank

  • Backingfile:prerender() and action method in page flow

    I am using backing file in a pageflow based portlet in WLP8.1sp5, and implemented its prerender method. After navigating to the middle of this pageflow, the session became expired after 15 mins of inactivity (this is expected). However, when a user click an action button in the browser which sent the request to the stale session, I expected my backing file prerender is invoked and I can check for expired session and route user to a timeout page. But this didn't happen. Instead, I see an ugly error page complaining that action couldn't be found in the pageflow. Of course, the session is no longer there.
    My questions are:
    1. Why WLP framework behave this way? Why backing wasn't called prior to action method of the pageflow?
    2. In WLP (8.1sp5), is there a pattern to handle expired session and render/display a "session timed out" page.
    Thanks in advance!

    I tried it. However, I encountered two problems:
    1. I placed the backing file at desktop level. And the page backing contexts I got back are null:
    try {   
    DesktopBackingContext ctx = DesktopBackingContext.getDesktopBackingContext(request);
    BookBackingContext bbc = ctx.getBookBackingContext();
    List children = bbc.getPageBackingContexts();
    for (Iterator i = children.iterator(); i.hasNext();)
    PageBackingContext pbc = (PageBackingContext) i.next();
    String label = pbc.getLabel();
    boolean bv = lableInArrayList(label, al);
    pbc.setVisible(bv);
    pbc.setActive(bv);
    } catch (Exception e) {
    where list "children" is returned as null, thus the null pointer exception when I tried to get an iterator.
    How come?
    2. When using SPNEGO single sign on, there is no straightforward and sure way to tell whether the request is (a) first time hit (i.e. session is new) or (b) is a hit after the session expires (i.e. the session is new again but I lost all pageflow state etc.). I could use request.getQueryString() as an indicator for (b) because the query string wouldn't be null vs. first hit http://.../abc.portal (without any query string). My question is: is this method request.getQueryString() a reliable way to indicate (b)?
    Thanks in advance!

  • How to call a struts action from a JSF page

    I am working on a small POC that has to do with struts-faces. I need to know how to call a struts ".do" action from a JSF page..
    Sameer Jaffer

    is it not possible to call a action from the faces submit button and/or the navigation?
    This a simple POC using struts-faces exmaples.
    Here is my struts-config and faces-config file.
    <struts-config>
    <data-sources/>
    <form-beans>
      <form-bean name="GetNameForm" type="demo.GetNameForm"/>
    </form-beans>
    <global-exceptions/>
    <global-forwards>
      <forward name="getName" path="/pages/inputname.jsp"/>
    </global-forwards>
    <action-mappings>
      <action name="GetNameForm" path="/greeting" scope="request" type="demo.GreetingAction">
       <forward name="sayhello" path="/pages/greeting.jsp"/>
      </action>
    </action-mappings>
    <controller>
        <set-property property="inputForward" value="true"/>
        <set-property property="processorClass"
                value="org.apache.struts.faces.application.FacesRequestProcessor"/>
    </controller>
    </struts-config>faces-config
    <faces-config>
    <managed-bean>
      <managed-bean-name>calculate</managed-bean-name>
      <managed-bean-class>com.jsftest.Calculate</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <managed-bean>
      <managed-bean-name>GetNameForm</managed-bean-name>
      <managed-bean-class>demo.GetNameForm</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
      <from-view-id>/calculate.jsp</from-view-id>
      <navigation-case>
       <from-outcome>success</from-outcome>
       <to-view-id>/success.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
       <from-outcome>failure</from-outcome>
       <to-view-id>/failure.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    <navigation-rule>
      <from-view-id>/inputNameJSF.jsp</from-view-id>
      <navigation-case>
       <to-view-id>/pages/greeting.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    </faces-config>in my inputNameJSF.jsp (faces page)
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
    <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
    <%@ taglib prefix="s" uri="http://struts.apache.org/tags-faces" %>
    <!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=ISO-8859-1">
    <title>Say Hello!!</title>
    </head>
    <body>
    Input Name
    <f:view>
         <h:form >
              <h:inputText value="#{GetNameForm.name}" id = "name" />
              <br>
              <h:commandButton id="submit"  action="/greeting.do" value="   Say Hello!   " />
         </h:form>
    </f:view>
    </body>
    </html>I want to be able to call the struts action invoking the Action method in the that returns the name
    package demo;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    public class GreetingAction extends org.apache.struts.action.Action {
        // Global Forwards
        public static final String GLOBAL_FORWARD_getName = "getName";
        // Local Forwards
        private static final String FORWARD_sayhello = "sayhello";
        public GreetingAction() {
        public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
            String name = ((demo.GetNameForm)form).getName();
            String greeting = "Hello, "+name+"!";
            request.setAttribute("greeting", greeting);
            return mapping.findForward(FORWARD_sayhello);
    }Edited by: sijaffer on Aug 11, 2009 12:03 PM

  • h:CommandLink : Action event not called on the first click

    Hi,
    I am facing a problem here.
    I have a JSF page:
    When I first load the page, I have few text boxes and dropdowns. With out doing anything If I click the <h:commandLink I call an action in my pagecode.
    But the problem is on the very first load of the page, without doing anything if I click on the command link action event in my pagecode is not called, but If I click on the link the second timethe pagecode actionevent is called.
    So I think tried submitting the form in the JSF page onclik of the commandlink it works in my Local IBM RAD. But doesnot work in the WebSphere Portal.
    So can you tell me if I can submit the form atleast once when the page loads for the first time
    This is my command link:
    <tr>
    <td colspan="2" align="center">
    <h:commandLink styleClass="commandLink" id="lnkBtnCreateUser" action="#{pc_Createuser.doLnkBtnCreateUserAction}">
    <hx:graphicImageEx styleClass="graphicImageEx" id="imgBtnCreateUser" value="/theme/images/btnCreateUser.gif" style="border:0;cursor:pointer" onclick="return onFormSubmit();"></hx:graphicImageEx>
    </h:commandLink>
    </td>
    </tr>
    function onFormSubmit(){
    //enabling all the disable components
    So can anybody please help me on this. Why exactly the pageCode action event is not called for the very first click ???

    seems that a prependID="false" attribute in the respective form was causing the trouble. At least it's working now that I've deleted it.
    I introduced it, because last time the component ID's messed up the output of the error/success messages ("j_id:xxx isn't that of a usefull information to the enduser).
    Edited by: stger on Apr 9, 2008 5:41 PM

  • Action method not called in Backing Bean

    I am using <x:inputFileUpload> tag inside my jsp page. I am trying to call action method when clicking button, but action method not called.
    My jsp page:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%>
    <html>
         <head>
              <title>File upload Test</title>
         </head>
         <body>
              <f:view>
                   <h:form id="form1" enctype="multipart/form-data">
                        <h:messages id="asdghsda"/>          
                        <h:outputText value="This is file upload page functionlaity POC" />                                   
                        <h:inputText value="#{fileUploadBean.textField}" />
                        <x:inputFileUpload id="myFileId" value="#{fileUploadBean.myFile}" storage="file" required="true"/>                    
                        <h:commandButton action="#{fileUploadBean.storeFile}" value="Enter here" />                    
                        <h:commandLink value="Clicl Here!!" action="#{fileUploadBean.storeFile}"></h:commandLink>
                   </h:form>               
              </f:view>
         </body>     
    </html>
    My backing bean:
    package com.beans;
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import org.apache.log4j.Logger;
    import org.apache.myfaces.custom.fileupload.UploadedFile;
    public class FileUploadBean {     
         private static Logger logger = Logger.getLogger(FileUploadBean.class.getName());
         private String textField;
         private UploadedFile myFile;
         public UploadedFile getMyFile() {
              logger.info("inside get method");
         return myFile;
         public void setMyFile(UploadedFile myFile) {
              logger.info("inside set method");
              this.myFile = myFile;
         public void storeFile(){          
              logger.info("Inside the storeFile method");
              logger.info("The text field value: " + getTextField());
              try {
                   InputStream in = new BufferedInputStream(myFile.getInputStream());
                   logger.info("The string is: " + in.read());
                   System.out.println(in.read());
                   File f = new File("D:\\share\\sample.txt");               
                   OutputStream out = new FileOutputStream(f);
                   out.write(in.read());
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              logger.info("Exit from the storeFile method");
         public String getTextField() {
              return textField;
         public void setTextField(String textField) {
              this.textField = textField;
    My web.xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>MyJSFProject</display-name>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
    </context-param>
    <filter>
    <filter-name>ExtensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
    <init-param>
    <param-name>uploadMaxFileSize</param-name>
    <param-value>10m</param-value>
    </init-param>
    <init-param>
    <param-name>uploadThresholdSize</param-name>
    <param-value>100k</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>ExtensionsFilter</filter-name>
    <servlet-name>FacesServlet</servlet-name>
    </filter-mapping>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    </web-app>
    Can someone help me on this? I need urgently.

    One straight and simple answer which i can give you method associated to action attributes always returns a java.lang.String Object.
    REF :
    action:
    =====
    If specified as a string: Directly specifies an outcome used by the navigation handler to determine the JSF page to load next as a result of activating the button or link If specified as a method binding: The method has this signature: String methodName(); the string represents the outcome
    source : http://horstmann.com/corejsf/jsf-tags.html#Table4_15
    therefore
    change
    public void storeFile(){
    logger.info("Inside the storeFile method");
    logger.info("The text field value: " + getTextField());
    try {
    InputStream in = new BufferedInputStream(myFile.getInputStream());
    logger.info("The string is: " + in.read());
    System.out.println(in.read());
    File f = new File("D:\\share\\sample.txt");
    OutputStream out = new FileOutputStream(f);
    out.write(in.read());
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    logger.info("Exit from the storeFile method");
    }to
    public String storeFile(){
    logger.info("Inside the storeFile method");
    logger.info("The text field value: " + getTextField());
    try {
    InputStream in = new BufferedInputStream(myFile.getInputStream());
    logger.info("The string is: " + in.read());
    System.out.println(in.read());
    File f = new File("D:\\share\\sample.txt");
    OutputStream out = new FileOutputStream(f);
    out.write(in.read());
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    logger.info("Exit from the storeFile method");
    return "success";
    }else where you can make use of actionlistener property in the following senario.
    but the method signature has to be void storeFile(ActionEvent ae)
    and could be use like
    <h:commandButton actionlistener="#{fileUploadBean.storeFile}" action="success" value="SUBMIT" /> Hope that might help :)
    REGARDS,
    RaHuL

  • In Web Logic Server Due to HTML file tag the action of struts is not called

    Hi All
    I have a problem as under:-
    There is a HTML page which contains several fields including a file input tag of HTML and i write enctype = "multipart/form-data" in the form tag
    I am calling a struts Action from this form, then it is not reaching to that action of struts.
    If I remove this file tag and enctype = "multipart/form-data" then it reaches to the struts action.
    I am facing this problem in Weblogic server 8.1 but i can easily deploy this same code on Tomcat 5.0
    Please help me out from this problem..
    Thanks...
    Nitin Saxena

    My installation has a DefaultWebApp directory under mydomain/applications,
              try moving everything down there. (I'm on 6.1 but I think 6.0 is the same)
              Eliot Stock
              eliot [ at ] carbonfive [ dot ] com
              http://carbonfive.com
              "Ram" <[email protected]> wrote in message
              news:3bc71641$[email protected]..
              >
              > Hi,
              >
              > I am trying to deploy a simple servlet in WebLogic Server.
              > I have done the following steps.
              >
              > 1) Compiled the MyWorld.Java Servlet Successfully in c:test\ Directory..
              >
              > 2) Created WEB-INF/Classes Directory in the home Directory of
              WebApplication Directory..
              > C:\bea\wlserver6.0\config\mydomain\applications\
              > 3) Copied the Class file into the WebApplication Directory i.e
              >
              > C:\bea\wlserver6.0\config\mydomain\applications\WEB-INF/Classes
              >
              > 4) Executed in the Browser using following URL:
              > http://127.0.0.1:7001/MyWorld
              >
              > But, I am getting this error:
              >
              > Error 404--Not Found
              >
              > Please let me know if the above procedure is wrong, then what are the
              exact steps
              > involved in Deploying a servlet in WebLogic Server.
              >
              > Thanks,
              > Ram.
              >
              

  • 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

  • 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".

Maybe you are looking for

  • Creation of saleorder with reference to order using BAPI_SALESORDER_CREATE

    hello iam trying to create a sale order with respect to order BAPI_SALESORDER_CREATEFROMDAT2. the parameters i am passing is *Fill the header information for the order. wa_order_header_in-doc_type = Sales Doc type of order to be created. wa_order_hea

  • HT1459 iPod touch frozen and doesn't respond to a reset??

    Apple logo showing and iPod touch not booting up tried reset but still just getting no further than apple logo

  • Vendor code creation with HR data

    Hi, Is there any way to get vendor code created automatically, while creating the HR data (Personnel No.)? Because the same details we are using except Recon.Account. Regards Prakash.

  • Help in J2ME

    Hello Sir/Mam, Im Sanjeev Das from Bhilai(C.G.). Doing my B.E.(C.S.) and in final year from RCET, Bhilai.And has been selected by RISPL, Bhilai and Lambent, Nagpur mobiles companies. My J2ME training was completed from RISPL on June of calendar year.

  • Weird icon next to battery icon

    this weird icon popped up on my phone yesterday and have no idea what it means. it is a lock with a circular arrow around it?