Property binding causes Bean property to be null when Component is readonly

I am retrieving an object (instantiation of a Bean) from a list of objects displayed in a table.
A set of components (textfields, textareas) are bound to the properties of the retrieved object. - propertybinding, text property bound to name property of managed bean.
If I make any of the bound components read-only the corresponding property of the bound object is set to null.
Why is this? Is there a work-around for this? If there is not I will not be able to make use of the propertybinding feature and I will have to populate and retrieve from components manually.
I have tested this using different components and setting up binding in multiple ways - through "data binding" and through "property binding" directly to the text field of the component.
Thanks,

I have been working with my issue for a little bit and I've learned that binding to an object (or Bean) can be dangerous for the object.
In SessionBean1 I have instantiated two objects of my bean TransferMethod, tm1 and tm2. tm2 is a "copy" of tm1 in that it contains all the same data, but in separate memory.
I've bound tm1 to text fields on my jsp page. tm2 is not bound to anything.
My page has a table, and edit area and several buttons. When I load my page it populates the table with data. I select a row from the table and click my "Edit" button. This instantiates the tm1 and tm2 objects and populates them with data from the row.
As my text fields are bound to tm1 the text fields are now populated when the page is re-displayed. The name field is bound to the name property and the component is set to readonly. The description field is bound to the description property and has no other configuration.
When I click my "Save" button and interrogate my tm1 and tm2 objectsm all properties in my tm1 object are reset to default values with the exception of the description field. All properties of the tm2 object are still populated with original data.
This tells me that binding an object to components is not feasible if you expect to continually work with that object on a single page.
My work around will be to manually assign the properties of my object to my textfields and vice-versa.
Hopefully the new version of Creator will address this issue.
Rebecca

Similar Messages

  • Component attribute binding with bean property

    I have a component which i use in JSP something like this:
    <A: myComponent
    attributeVal=#{myBean.value}
    />
    in myBean:
    I have [b]getValue() and setValue().
    If i call setAttribute() function of myComponent programatically,
    say
    MyComponent myComp = (MyComponent ) uiComponent; // line 1
    myComp.setAttribute(10); // line 2
    Will statement at line2 cause myBean property to be updated?
    Thanks for your help...

    So..What can I do to the achieve the same
    functionality. Something like:myComp.getValueBinding("attributeVal").setValue(facesContext, value)

  • Error testing property 'inputValue' in bean of type null

    Hi, I'm developing two simple pages: List and Edit. When I execute a Submit button to go to Edit page I get the next exception in the page
    exception
    org.apache.jasper.JasperException: javax.faces.el.PropertyNotFoundException: Error testing property 'inputValue' in bean of type null
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
    com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
    com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:153)
    oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:233)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:202)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
    oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
    root cause
    javax.faces.el.PropertyNotFoundException: Error testing property 'inputValue' in bean of type null
    com.sun.faces.el.PropertyResolverImpl.isReadOnly(PropertyResolverImpl.java:274)
    oracle.adfinternal.view.faces.model.FacesPropertyResolver.isReadOnly(FacesPropertyResolver.java:124)
    com.sun.faces.el.impl.ArraySuffix.isReadOnly(ArraySuffix.java:236)
    com.sun.faces.el.impl.ComplexValue.isReadOnly(ComplexValue.java:209)
    com.sun.faces.el.ValueBindingImpl.isReadOnly(ValueBindingImpl.java:266)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.EditableValueRenderer.getReadOnly(EditableValueRenderer.java:211)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.FormElementRenderer.renderAsElement(FormElementRenderer.java:155)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.InputLabelAndMessageRenderer.getLabelFor(InputLabelAndMessageRenderer.java:53)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.LabelAndMessageRenderer$Label.getForId(LabelAndMessageRenderer.java:500)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.OutputLabelRenderer.encodeAll(OutputLabelRenderer.java:69)
    oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.delegateRenderer(CoreRenderer.java:281)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.LabelAndMessageRenderer._renderLabelCell(LabelAndMessageRenderer.java:222)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.LabelAndMessageRenderer.encodeAll(LabelAndMessageRenderer.java:159)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.InputLabelAndMessageRenderer.encodeAll(InputLabelAndMessageRenderer.java:94)
    oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:169)
    oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
    oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRenderer.java:246)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelFormRenderer.encodeColumnChild(PanelFormRenderer.java:275)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelFormRenderer.renderColumn(PanelFormRenderer.java:251)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelFormRenderer._renderColumns(PanelFormRenderer.java:545)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelFormRenderer._encodeChildren(PanelFormRenderer.java:153)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelFormRenderer.encodeAll(PanelFormRenderer.java:69)
    oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:169)
    oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
    oracle.adfinternal.view.faces.renderkit.RenderUtils.encodeRecursive(RenderUtils.java:54)
    oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRenderer.java:242)
    oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeAllChildren(CoreRenderer.java:265)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:65)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:117)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:147)
    oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:60)
    oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:169)
    oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
    javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:645)
    javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:568)
    oracle.adf.view.faces.webapp.UIXComponentTag.doEndTag(UIXComponentTag.java:100)
    org.apache.jsp.app.private_.am_005fprovincia_jspx._jspx_meth_afh_005fbody_005f0(am_005fprovincia_jspx.java:196)
    org.apache.jsp.app.private_.am_005fprovincia_jspx._jspx_meth_afh_005fhtml_005f0(am_005fprovincia_jspx.java:148)
    org.apache.jsp.app.private_.am_005fprovincia_jspx._jspx_meth_f_005fview_005f0(am_005fprovincia_jspx.java:118)
    org.apache.jsp.app.private_.am_005fprovincia_jspx._jspService(am_005fprovincia_jspx.java:88)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
    com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
    com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:153)
    oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:233)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:202)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
    oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
    In the Tomcat console....
    11-09-2008 11:17:19 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 11:17:19 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 11:17:19 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 11:17:19 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel getSelectedRow
    WARNING: rowIterator is null
    11-09-2008 11:17:19 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel makeCurrent
    WARNING: No row found for rowKey:null
    11-09-2008 11:17:20 PM oracle.adfinternal.view.faces.taglib.ValidatorTag createValidator
    SEVERE: attribute 'validatorId' is missing
    11-09-2008 11:17:20 PM oracle.adfinternal.view.faces.taglib.ValidatorTag doStartTag
    WARNING: could not create validator for validatorId:null and binding:#{bindings.ProvId.validator}
    11-09-2008 11:17:20 PM oracle.adfinternal.view.faces.taglib.ValidatorTag createValidator
    SEVERE: attribute 'validatorId' is missing
    11-09-2008 11:17:20 PM oracle.adfinternal.view.faces.taglib.ValidatorTag doStartTag
    WARNING: could not create validator for validatorId:null and binding:#{bindings.ProvNombre.validator}
    11-09-2008 11:17:20 PM oracle.adfinternal.view.faces.taglib.ValidatorTag createValidator
    SEVERE: attribute 'validatorId' is missing
    11-09-2008 11:17:20 PM oracle.adfinternal.view.faces.taglib.ValidatorTag doStartTag
    WARNING: could not create validator for validatorId:null and binding:#{bindings.ProvDescripcion.validator}
    I'm developing with ADF Faces, JDeveloper 10.1.3.4, BC4J, Tomcat 6.0.18 and MySQL. When I set redirect = true in navigation-case (faces-config.xml) the exception dissapear but not WARNING: rowIterator is null message.
    Can anybody help me with this, please?
    Regards

    I'm confused :-(
    first you said the problem is solved, now you state it isn't.
    It looks like you have a problem with your first page. As far as I see it from the stack trace you try to use an iterator on this page which returns no row, but you try to make on the current row.
    Check the binding of the iterator.
    Timo

  • Strange Runtime Error - Error setting property 'page1' in bean of type null

    All I have here is a treenode with its URL set to a web page. When the node is clicked, I get this:
    ===============================
    [#|2006-07-25T09:39:20.204-0600|SEVERE|sun-appserver-pe8.2|javax.enterprise.system.container.web|_ThreadID=16;|WebModule[/HNESWebApp]org.apache.jasper.JasperException: Error setting property 'page1' in bean of type null
    javax.faces.FacesException: org.apache.jasper.JasperException: Error setting property 'page1' in bean of type null
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:327)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:311)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at ccic2s.netsvr.hnes.web.hneswebapp.login.LoginFilter.doFilter(LoginFilter.java:198)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
    at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)
    Caused by: org.apache.jasper.JasperException: Error setting property 'page1' in bean of type null
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:297)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:247)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
    at sun.reflect.GeneratedMethodAccessor200.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:482)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:417)
    at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:80)
    at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:95)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:313)
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
    ... 49 more
    |#]
    ======================
    Any ideas?
    TIA

    Okay, I found it - my bad but this might help you..
    Turns out the managed-beans.xml (and possibly other files /directories) under WEB-INF were set to read only due to the CM tool I am using - these files were checked in at one point (probably shouldn't have been). I thought I got them all but had missed a few.
    So the moral of the story is beware of setting read-only files!

  • ServletException: Error testing property 'foo' in bean of type null

    Hi,
    JSF is new to me. First test pojects were fine but now i am running into some prolems. maybe you could help. here are my error message, my classes and jsps. If you need more information to solve the porblem please let me know. thanx felix
    javax.servlet.ServletException: Error testing property 'vorname' in bean of type null
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:209)
         org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
    root cause
    javax.faces.el.PropertyNotFoundException: Error testing property 'vorname' in bean of type null
         com.sun.faces.el.PropertyResolverImpl.getType(PropertyResolverImpl.java:342)
         com.sun.faces.el.impl.ArraySuffix.getType(ArraySuffix.java:240)
         com.sun.faces.el.impl.ComplexValue.getType(ComplexValue.java:208)
         com.sun.faces.el.ValueBindingImpl.getType(ValueBindingImpl.java:345)
         com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:111)
         javax.faces.component.UIInput.getConvertedValue(UIInput.java:713)
         javax.faces.component.UIInput.validate(UIInput.java:638)
         javax.faces.component.UIInput.executeValidate(UIInput.java:849)
         javax.faces.component.UIInput.processValidators(UIInput.java:412)
         javax.faces.component.UIForm.processValidators(UIForm.java:170)
         javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:912)
         javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:342)
         com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:78)
         com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
         org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
    My Start-JSP:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <html>
    <head>
    Eingabe Person
    </head>
    <body>
    <h3>
    Eingabe Person
    </h3>
    Bitte geben Sie ihre Daten ein:
    <f:view>
    <h:form>
    Vorname: <h:inputText id="vorname" value="#{PersonController.currentPerson.vorname}" />
    Nachname: <h:inputText id="nachname" value="#{PersonController.currentPerson.nachname}" />
    <h:commandButton action="#{PersonController.save}" value="Submit" />
    </h:form>
    </f:view>
    </body>
    </html>
    PersonController:
    package test1;
    import java.util.*;
    import org.hibernate.HibernateException;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.tool.hbm2ddl.SchemaExport;
    import org.hibernate.Query;
    public class PersonController {
    private SessionFactory aSessionFactory;
    private Person currentPerson=null;
    private List<Person> personList = null;
    private Session session;
    private static final String personConfirm = "personConfirm";
    private static final String test = "test";
    /** Creates a new instance of PersonController */
    public PersonController() {
    personList = new LinkedList<Person>();
    this.setUp();
    public String createPerson(){
    currentPerson = new Person();
    return personConfirm;
    public String test(){
    return test;
    public String save(){
    personList.add(currentPerson);
    Transaction transaction = null;
    transaction = session.beginTransaction();
    session.save(currentPerson);
    transaction.commit();
    return personConfirm;
    public Person getCurrentPerson(){
    return currentPerson;
    public void setCurrentPerson(Person currentPerson){
    this.currentPerson=currentPerson;
    public List<Person> getPersonList(){
    return personList;
    public void setPersonList(List<Person> personList){
    this.personList=personList;
    public void closeSession(){
    session.close();
    protected void setUp(){
    Configuration configuration = new Configuration().configure();
    // SchemaExport export = new SchemaExport(configuration);
    //export.create(false, true);
    aSessionFactory = configuration.buildSessionFactory();
    session = aSessionFactory.openSession();
    public Person loadPerson(long id){
    return (Person)session.load(Person.class, id);     
    Bean Person:
    package test1;
    * @author F.Thomas
    public class Person {
    private long id;
    private String vorname;
    private String nachname;
    /** Creates a new instance of Person */
    public Person() {
    public long getId() {
    return id;
    public void setId(long id) {
    this.id = id;
    public String getVorname() {
    return vorname;
    public void setVorname(String vorname) {
    this.vorname = vorname;
    public String getNachname() {
    return nachname;
    public void setNachname(String nachname) {
    this.nachname = nachname;
    Target JSP:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <html>
    <head>
    Best�tigung Person
    </head>
    <body>
    <h3>
    Best�tigung Person
    </h3>
    Ergebnis Ihrer Eingabe:
    <f:view>
    <h:form>
    Vorname: <h:outputText value="#{PersonController.currentPerson.vorname}" />
    Nachname: <h:outputText value="#{PersonController.currentPerson.nachname}" />
    <h:commandButton action="success" value="Submit" />
    </h:form>
    </f:view>
    </body>
    </html>
    faces-config.xml
    <?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">
    <!-- =========== FULL CONFIGURATION FILE ================================== -->
    <faces-config>
    <navigation-rule>
    <navigation-case>
    <from-outcome>personConfirm</from-outcome>
    <to-view-id>/person/confirm.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <navigation-case>
    <from-outcome>test</from-outcome>
    <to-view-id>/person/test.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <managed-bean>
    <managed-bean-name>PersonController</managed-bean-name>
    <managed-bean-class>test1.PersonController</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    <managed-bean>
    <managed-bean-name>Person</managed-bean-name>
    <managed-bean-class>test1.Person</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    </faces-config>
    web.xml
    <?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">
    <context-param>
    <param-name>com.sun.faces.verifyObjects</param-name>
    <param-value>false</param-value>
    </context-param>
    <context-param>
    <param-name>com.sun.faces.validateXml</param-name>
    <param-value>true</param-value>
    </context-param>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>Start2</servlet-name>
    <servlet-class>test1.Start2</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>Start3</servlet-name>
    <servlet-class>test1.Start3</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>Start2</servlet-name>
    <url-pattern>/Start2</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>Start3</servlet-name>
    <url-pattern>/Start3</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>
    30
    </session-timeout>
    </session-config>
    <welcome-file-list>
         <welcome-file>
    index.jsp
    </welcome-file>
    </welcome-file-list>
    </web-app>

    A quick analysis indicates that perhaps the currentPerson attribute of the PersonController is null at render time.

  • Bug/Bad docs trying to bind SelectItem to bean property of type Collection

    Hi,
    I've been trying for the best part of the morning to use a selectOneMenu tag and bind the selectItems value to a backing bean property.
    The tutorial states that:
    "The advantages of using the selectItems tag are as follows:
    You can represent the items using different data structures, including Array, Map, List, and Collection. The data structure is composed of SelectItem instances or SelectItemGroup instances."
    well I've used Map, and List (which are both covered by Collection anyway...) and they don't work. You go silently to the renderResponse phase.
    In all cases the content of my Collection typed property were javax.faces.model.SelectItem instances.
    I changed the backing bean property to be of type SelectItem[] instead and suddenly it works fine.
    It's as if the binding mechanism isn't able to handle collections?
    Is the tutorial wrong or does this just not work?
    I'm using 1.0.
    Neil

    Hi
    I have the same problem whereby my backing beans has implemented as a HashSet of attachments for a client. If this is changed to a type, List say ArrayList, everything works correctly with no errors.
    client.attachments -> contains a HashSet of attachments
    Page goes to display this list and if a Set is used then error below is thrown.
    Has anyone experienced this problem and found a solution, it would very help
    Thanks
    Glenn
    Exception :
    com.sun.facelets.tag.TagAttributeException: /C:/development/42508/apmweb/pages/client/client_notes_list.xhtml @70,53 tes
    t="${not empty note.attachments}" /C:/development/42508/apmweb/pages/client/client_notes_list.xhtml @70,53 test="${not e
    mpty note.attachments}": Bean: org.hibernate.collection.PersistentSortedSet, property: 0
    at com.sun.facelets.tag.TagAttribute.getObject(TagAttribute.java:235)
    at com.sun.facelets.tag.TagAttribute.getBoolean(TagAttribute.java:79)
    at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:49)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jstl.core.ForEachHandler.apply(ForEachHandler.java:168)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:147)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:147)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:147)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:94)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
    at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:400)
    at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:434)
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:214)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:120)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3020)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1925)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1848)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1288)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    Caused by: javax.el.PropertyNotFoundException: /C:/development/42508/apmweb/pages/client/client_notes_list.xhtml @70,53
    test="${not empty note.attachments}": Bean: org.hibernate.collection.PersistentSortedSet, property: 0
    at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:73)
    at com.sun.facelets.tag.TagAttribute.getObject(TagAttribute.jav
    Code :
    <c:forEach items="#{WriteableClient.notes}" var="note">          
    <c:if test="#{not empty note.attachments}">
    </c:forEach >

  • Error setting property 'html1' in bean of type null

    Dear All;
    I am currently on site, and away from my team, so they send over additional screens, that i treid to add to the project i have with me, i added the model, i add the SRC folder, and the .JSPX pages, only when i run the pages, i get Error setting property 'html1' in bean of type null, i checked previous threads, and i know the error and accordingly i checked that the page def exists, which it does, and that all the managed beans are there, and linked to faces config, which they are, so i am just wondering if any1 has any idea, as to how to make the pages work...
    regards
    Halim

    hi frank,
    I cross checked, all the entries in the bean, with those in the JSPX source code, and chceked in the auto comment of the JSPX page the name of the bean, i have checked the faces config, i am going to remove the the new models and re-add them, just tell me if i need to add any files other than those:
    MODEL X folder, which contains the model
    JSPX folder, which contans the pages
    SRC folder in view controller
    And the faces config to web-inf
    thanks in advance man
    regards
    Halim

  • Including Bean-Property in Database-Binding

    Hello,
    I'm testing SJSC and right now I'm testing the Database-Bindings. I was successfull in integrating the MySQL JDBC-driver and creating JNDI-Ressource, JDBC-Ressource and Connection-Pool (I have several "RaveGenerated entrys but this problem will be solved later hopefully).
    My question is how I can integrate the value of a managed Bean in a SQL-Query of a Rowset. n my own Example I have a page where I enter a Short name in an Input-Field. This field is bound to a manged Bean and the name is a Property. I press a Okay-Button and on the next Page I display this Property again. This works finde. Now I will lookup in a database the long name corresponding to the short Name. I bound the Output-Field to a Rowset and the first long name is displayed from the database. I would like to display the long Name of the DB-Column of the entered short name. How can I do that?
    Best regards,
    Thomas

    Does your DbAccess bean have a "setJdbcUser" method?
    ie public void setJdbcUser(String user)Yes. Wouldn't the 'setProperty" tag cause compilation to fail if there was not a corresponding bean property?
    I'll add the standard disclaimer how db connections
    in JSPs is a bad idea. Such code should be in a servlet/bean.I have created context parameters in web.xml with the jdbc configuration values to create the connection. I created a context listener to open the connection on application initialization. My original conception was to create the connection in my controller servlet and then pass it as a request attribute and fetch it in the JSP. But, on further consideration, I could not find a way to do that without using a scriptlet. For that reason, I backtracked and created the DbAccess bean, whose purpose actually is to create the connection. So, the business with the jdbcUser property is really just me "feeling my way" with how these tags work in the JSP. I'm having difficulty in visualizing how to access that connection (or the data feed) in the JSP. I can create the DbAccess object with the JDBC connection in the listener.
    I am certainly open to suggestions as to the best way to make this work. I haven't found much guidance in the documentation I've read.
    Thanks for the reply.
    mp

  • Concurrency and javafx.beans.property

    I am building a MVC architecture and i'd like the model to be running independetly of the view/controller, so the model runs concurrently with the controller/view.
    the following example is a very simplified build on how i have it:
    controller:
    public class controller extends AnchorPane implements Initializable{
         private ObjectProperty<Model> m;
         @FXML Label aLabel;
         public controller() throws Exception{
              this.m = new SimpleObjectProperty<Model>(this, "Model", null);
              FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("../view/View.fxml"));
              fxmlLoader.setController(this);
              fxmlLoader.setRoot(this);
              fxmlLoader.load();
         @Override public void initialize(URL arg0, ResourceBundle arg1){}
         public void setGame(Model m) throws Exception{
              this.m.set(m);
              aLabel.textProperty().bind(this.m.get().getIntProperty().asString());
         public void start(){
              //Method1:
              m.get().start();
              //Method2:
              Task<Void> task = new Task<Void>() {
                   @Override public Void call() {
                        m.get().start();
                        return null;
              new Thread(task).start();
              //Method3:
              m.get().start();     //Model extends Thread and public void start() to protected void run()
              //Method4:
              m.get().start();     //Model extends Task<Void> and
                             //public void start() to protected Void call() throws Exception
              //Method5:          //calling any of the before ones on the controller that calls this one
    }model:
    public class Model extends Thread{
         IntegerProperty intProperty;
         public Model(){
              this.intProperty = new SimpleIntegerProperty(0);
         public IntegerProperty getIntProperty(){
              return intProperty;
         public void start(){
              while (true){
                   this.intProperty.set(this.intProperty.get()+1);
    }Tried any of those and the results are:
    -Method1: the view crashes and cannot be seen anything (model seems to be working since continues in the loop)
    -Method2: when reaches the first this.intProperty.set(this.intProperty.get()+1); the task gets frozen and stops
    -Method3: execution error on this.intProperty.set(this.intProperty.get()+1);
    -Method4: same as Method3
    -Method5: like before ones
    how can i make the it work?

    There are a few things wrong here.
    First, if you want the model to use a Thread, make sure you know how to use the Thread class. There's a decent section on concurrency at the [url http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html]Java tutorial. What you need here is to have your Model class override the run() method, not the start() method. Then call the start() method, which will cause the run() method to be executed on a separate thread of execution. (You may be doing this in Method 3, I couldn't understand your comment.)
    This is probably just an artifact of your simplified version, but your run() method should block at some point. Multiple threads can be executed on the same processor, so your current implementation may hog that processor, making it impossible for the FX Application thread to do its stuff. For testing, throw in a Thread.sleep(...) call, wrapped in a try/catch block for the InterruptedException. I assume that the real application is waiting for something from the server, so there would be some "natural" blocking of the thread in that case.
    The important rule for the UI is that changes to the interface should only be performed on the FX Application thread. Assuming you have the implementation of your model correctly running on a background thread, you violate this with your binding. (The model sets its intProperty on the background thread; the binding causes the label's text to be changed on the same thread.) So to fix this your controller should listen for changes in the model's int property, and schedule a call to aLabel.setText(...) on the FX application thread using Platform.runLater(...). You want to make sure you don't flood the FX Application thread with too many such calls. Depending on how often the int property in the model is getting updated, you may need the techniques discussed in {thread:id=2507241}.
    The Task API from JavaFX provides nice mechanisms to call back to the JavaFX Application thread; however this is not really applicable in this case. The Task class encapsulates a one-off task that (optionally) returns a value and then completes, which is not what you're doing here.
    Here's a complete example; it's not broken out into separate FXML for the view and a controller, etc, but you can see the structure and break it down as you need.
    import javafx.application.Application;
    import javafx.application.Platform;
    import javafx.beans.property.IntegerProperty;
    import javafx.beans.property.SimpleIntegerProperty;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.layout.AnchorPane;
    import javafx.stage.Stage;
    public class ConcurrentModel extends Application {
      @Override
      public void start(Stage primaryStage) {
        final AnchorPane root = new AnchorPane();
        final Label label = new Label();
        final Model model = new Model();
        model.intProperty.addListener(new ChangeListener<Number>() {
          @Override
          public void changed(final ObservableValue<? extends Number> observable,
              final Number oldValue, final Number newValue) {
            Platform.runLater(new Runnable() {
              @Override
              public void run() {
                label.setText(newValue.toString());
        final Button startButton = new Button("Start");
        startButton.setOnAction(new EventHandler<ActionEvent>() {
          @Override
          public void handle(ActionEvent event) {
            model.start();
        AnchorPane.setTopAnchor(label, 10.0);
        AnchorPane.setLeftAnchor(label, 10.0);
        AnchorPane.setBottomAnchor(startButton, 10.0);
        AnchorPane.setLeftAnchor(startButton, 10.0);
        root.getChildren().addAll(label, startButton);
        Scene scene = new Scene(root, 100, 100);
        primaryStage.setScene(scene);
        primaryStage.show();
      public static void main(String[] args) {
        launch(args);
      public class Model extends Thread {
        private IntegerProperty intProperty;
        public Model() {
          intProperty = new SimpleIntegerProperty(this, "int", 0);
          setDaemon(true);
        public int getInt() {
          return intProperty.get();
        public IntegerProperty intProperty() {
          return intProperty;
        @Override
        public void run() {
          while (true) {
            intProperty.set(intProperty.get() + 1);
            try {
              Thread.sleep(50);
            } catch (InterruptedException exc) {
              exc.printStackTrace();
              break;
    }

  • **URGENT** No getter method for property searchText of bean org.apache.stru

    I'm implementing a query page as described in the HowTo ADF_ComplexMasterDetail.zip
    When running the query page, I'm receiving the error:
    javax.servlet.jsp.JspException: No getter method for property searchText of bean org.apache.struts.taglib.html.BEAN
    I have my searchEmployees writen and 'exposed' (at least I can see it in the Data palette). But seems like something is missing, and can't find this searchText beam property specified in the html:text tag.
    Can someone help in this one?
    Here is the Help description inside the HowTo example:
    Section 3
    queryEmployees
    queryEmployeesInDept provides an interface for entering a simple search criteria for querying a list of
    employees. This does not use the Find mode Query By Example functionality that the other query screens
    use, but rather presents a much simpler search interface. The actual search is carried out using a
    function
    searchEmployees that the underlying view object exposes. (See the EmployeesView view object in the
    model project)
    1. Drop a new Data Page onto the page flow diagram call it queryEmployees
    2. In the page flow diagram, drag the searchEmployees operation from the AllEmployeesView
    collection in the Data Control Palette and drop it on top of the new Data Page. This will cause the
    framework to run a search whenever the page is called.
    3. In the Structure pane, locate the queryEmployees node and expand it, select the child node
    paramNames[0], and change it's value attribute to ${param.searchText}. This will pass the URL
    parameter searchText on to the business method to qualify the query.
    4. Drill down into the page and expand the Data Control Palette to select the AllEmployeesView
    collection. Set the Drag and Drop as: list to Read-OnlyTable. Then drag the collection onto the page.
    This will create a tabular containing the query results.
    5. Select the Struts HTML component palette and drag a Form onto the page above the output table. Set
    the handling action to this Data Page (queryEmployees.do)
    6. Drag a text field from the component palette inside of this new form. Set the property attribute of
    the
    <html:text> tag to searchText (the same value you used in the paramNames[0] for the Data Page)
    7. Create a new submit button in the form to submit the search. Set the property attribute of the button
    to
    event_search.
    8. Finally we need to subclass the data page to prevent the search action from being fired when it is not
    appropriate for the page ( for instance when we first display it). To do this we need to Go to Code on
    the Data Page's context menu, and override the invokeCustomMethod() method:
    * We only want to invoke the custom method i.e. the call to change
    * the Where clause on the collection, if the Action has been called with
    * a search event on the page with a search term supplied.
    * If the user got here via a link or another event, we bypass the model call
    * unless a URL parameter event=search is supplied, in which
    * case the method will also be called.
    protected void invokeCustomMethod(DataActionContext actionContext)
    List events = actionContext.getEvents();
    // If the event is "search" do the custom event call
    if ((events != null) && (events.contains("search")))
    String searchTerm = (String)((DynaActionForm)actionContext.getActionForm())
    Get("searchText");
    if (searchTerm != null)
    super.invokeCustomMethod(actionContext);
    }

    Solved with Oracle JDeveloper HowTo:
    Creating Search Pages with Both Fixed and Dynamic Criteria
    Author: Steve Muench, Oracle ADF Development Team
    Date: September 16, 2004
    http://www.oracle.com/technology/products/jdev/howtos/10g/dynamiccrit/index.html

  • Problems setting managed bean property of type Integer

    I got a problem when I use valueBinding #{param.productId} in faces-config.xml for my managed bean:
    My property 'productId' in bean Product is of type Integer, and my bean is in request scope. When I try to invoke some action on page, wich should navigate me to another view - JSF is trying to set productId for current view, and of course it is empty (""), and for the reasons given above I'm getting an error:
    javax.faces.FacesException: Can't set managed bean property: 'applicationId'.
    at com.sun.faces.config.ManagedBeanFactory.setPropertiesIntoBean(ManagedBeanFactory.java:576)
    at com.sun.faces.config.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:233)
    at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:256)
    ... 60 more
    Caused by: java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:489)
    at java.lang.Integer.<init>(Integer.java:609)
    at com.sun.faces.config.ManagedBeanFactory.getConvertedValueConsideringPrimitives(ManagedBeanFactory.java:855)
    at com.sun.faces.config.ManagedBeanFactory.setPropertiesIntoBean(ManagedBeanFactory.java:555)
    Should I use requestScope instead of param to have my parameter null, and not "" ?
    If so, how should I pass requestScope parameter using commandLink?

    Hi! I have a problem with setting params too. Probably my one is different.
    I have a jsp page which show a datatable, where I can see a row for each Product. If I click on its name I would navigate to another page that shows product informations, as several ecommerce sites do.
    But I can't understand what and how I must set to inform the details page on which product have to show.
    I read in this forum that it's possible to set a parameter in productBean, and then the constructor of product bean loads others fields knowing its id.
    The snippet of my faces-config.xml is:
      <managed-bean>
        <managed-bean-name>product</managed-bean-name>
        <managed-bean-class>test.backing.ProductBean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
        <managed-property>
          <property-name>idToLoad</property-name>
          <property-class>java.lang.Integer</property-class>
          <value>#{param.id}</value>
        </managed-property>
      </managed-bean>It is possible? is a correct solution? and if it is, how can I do that?
    Thanks very much if someone can resolve my problem.
    Claudio.

  • Error getting property 'lovFieldValue' from bean of type LovItemBean

    Hi Team,
    We are currently using a form with one LOVform.
    I added a new LOVform.
    Now I'm getting this Error:
    500 Internal Server Error
    javax.faces.el.EvaluationException: javax.faces.el.EvaluationException: Error getting property 'lovFieldValue' from bean of type oracle.jheadstart.controller.jsf.bean.LovItemBean: java.lang.NullPointerException
    We are using JHeadstart 10.1.3.1.26.
    Where should I look for a cause?
    Should I post the complete trace?
    Thanks in advance.
    Erik

    Steven,
    This is the source:
    <?xml version='1.0' encoding="windows-1252"?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:af="http://xmlns.oracle.com/adf/faces"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
    >
    <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
    doctype-system="http://www.w3.org/TR/html4/loose.dtd"
    doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/> <jsp:directive.page contentType="text/html;charset=windows-1252"/>
    <f:view>
    <afh:html id="html">
    <afh:head title="#{createModes.CreateBenchmarks ? nls['INSERT_TITLE_BENCHMARKS'] : nls['VIEW_TITLE_BENCHMARK:#{bindings.BenchmarksClientName}']}" id="head">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/jheadstart/css/jhsStyles.css" type="text/css" id="jhsStyles"/>
    </afh:head>
    <afh:body id="body">
    <af:form id="dataForm" usesUpload='false'>
    <af:region id="pageConfig" regionType="oracle.jheadstart.region.pageConfig" value="#{bindings}"/>
    <afh:script id="hasPendingChanges" partialTriggers="BenchmarksClient" text="hasPendingChanges='#{hasPendingChanges}';"/>
    <af:panelPage title="#{createModes.CreateBenchmarks ? nls['INSERT_TITLE_BENCHMARKS'] : nls['VIEW_TITLE_BENCHMARK:#{bindings.BenchmarksClientName}']}" id="panelPage">
    <f:facet name="brandingAppContextual">
    <af:region id="brandingAppContextual" value="#{bindings}"
    regionType="oracle.jheadstart.region.brandingAppContextual"/>
    </f:facet>
    <f:facet name="branding">
    <af:region id="branding" value="#{bindings}"
    regionType="oracle.jheadstart.region.branding"/>
    </f:facet>
    <f:facet name="menuGlobal">
    <af:region id="menuGlobal" value="#{bindings}"
    regionType="oracle.jheadstart.region.menuGlobal"/>
    </f:facet>
    <!-- DEBUG:BEGIN:BREADCRUMB_AREA : default/pageComponent/breadcrumbArea.vm, nesting level: 2 -->
    <f:facet name="location">
    <af:menuPath var="bc" value="#{jhsBreadcrumbStack}" id="breadcrumbs">
    <f:facet name="nodeStamp">
    <af:commandLink action="#{bc.goToDestination}" text="#{bc.label}"
    immediate="true" onclick="return alertForChanges();" >
    <f:actionListener type="oracle.jheadstart.controller.jsf.listener.DoRollbackActionListener"/>
    <af:resetActionListener/>
    </af:commandLink>
    </f:facet>
    </af:menuPath>
    </f:facet><!-- DEBUG:END:BREADCRUMB_AREA : default/pageComponent/breadcrumbArea.vm, nesting level: 2-->
    <!-- DEBUG:BEGIN:PAGE_MENU : default/misc/menu/pageMenu.vm, nesting level: 2 -->
    <f:facet name="menu1">
    <af:region id="GbpServiceMenu1Tabs" value="#{bindings}" regionType="nl.openi.gbp.view.region.GbpServiceMenu1Tabs">
    <af:attribute name="selectedTab" value="Benchmarks"/>
    </af:region>
    </f:facet>
    <!-- DEBUG:END:PAGE_MENU : default/misc/menu/pageMenu.vm, nesting level: 2-->
    <f:facet name="messages">
    <af:messages id="messages"/>
    </f:facet>
    <!-- DEBUG:BEGIN:FORM_PAGE_CONTENT : default/page/formPageContent.vm, nesting level: 2 -->
    <f:facet name="actions">
    <af:panelButtonBar id="pageButtons">
    <!-- DEBUG:BEGIN:NEW_BUTTON : default/button/newButton.vm, nesting level: 3 -->
    <af:commandButton actionListener="#{bindings.CreateBenchmarks.execute}"
    action="CreateBenchmarks"
    textAndAccessKey="#{nls['NEW_BUTTON_LABEL_BENCHMARKS']}"
    rendered="#{!createModes.CreateBenchmarks }"
    immediate="true" onclick="return alertForChanges();" id="BenchmarksNewButton">
    <f:actionListener type="oracle.jheadstart.controller.jsf.listener.DoRollbackActionListener"/>
    <af:resetActionListener/>
    </af:commandButton>
    <!-- DEBUG:END:NEW_BUTTON : default/button/newButton.vm, nesting level: 3-->
    <!-- DEBUG:BEGIN:DELETE_BUTTON : default/button/deleteButton.vm, nesting level: 3 -->
    <!-- DEBUG:END:DELETE_BUTTON : default/button/deleteButton.vm, nesting level: 3-->
    <!-- DEBUG:BEGIN:SAVE_BUTTON : default/button/saveButton.vm, nesting level: 3 -->
    <af:commandButton actionListener="#{bindings.Commit.execute}"
    action="Commit" onclick="return validateForm('dataForm');"
    textAndAccessKey="#{nls['SAVE_BUTTON_LABEL_BENCHMARKS']}"
    id="BenchmarksSaveButton">
    <af:resetActionListener/>
    </af:commandButton>
    <!-- DEBUG:END:SAVE_BUTTON : default/button/saveButton.vm, nesting level: 3-->
    </af:panelButtonBar>
    </f:facet>
    <!-- DEBUG:BEGIN:FORM_GROUP : default/pageComponent/formGroup.vm, nesting level: 3 -->
    <!-- DEBUG:BEGIN:SEARCH_AREA : default/search/searchArea.vm, nesting level: 4 -->
    <!-- DEBUG:END:SEARCH_AREA : default/search/searchArea.vm, nesting level: 4-->
    <af:panelGroup rendered="#{bindings.BenchmarksIterator.findMode!='true'}" id="BenchmarksFormGroup">
    <af:outputFormatted value="#{nls['NO_ROWS_FOUND']}"
    styleUsage="pageStamp"
    rendered="#{!((bindings.BenchmarksIterator.currentRowIndexInRange!=-1 and bindings.BenchmarksIterator.findMode!='true'))}"
    id="BenchmarksNoRowsFound"/>
    <af:panelGroup rendered="#{(bindings.BenchmarksIterator.currentRowIndexInRange!=-1 and bindings.BenchmarksIterator.findMode!='true')}" id="BenchmarksFormContent" >
    <!-- DEBUG:BEGIN:FORM_BROWSE_BUTTONS : default/pageComponent/formBrowseButtons.vm, nesting level: 4 -->
    <af:region id="formBrowseButtonsBenchmarks"
    value="#{bindings}"
    rendered="#{bindings.BenchmarksIterator.estimatedRowCount>1 and !createModes.CreateBenchmarks and bindings.BenchmarksIterator.currentRowIndexInRange!=-1 and bindings.BenchmarksIterator.findMode!='true'}"
    regionType="oracle.jheadstart.region.formBrowseButtons">
    <af:attribute name="iteratorBinding"
    value="#{bindings.BenchmarksIterator}"/>
    <af:attribute name="firstBinding"
    value="#{bindings.FirstBenchmarks}"/>
    <af:attribute name="previousBinding"
    value="#{bindings.PreviousBenchmarks}"/>
    <af:attribute name="nextBinding"
    value="#{bindings.NextBenchmarks}"/>
    <af:attribute name="lastBinding"
    value="#{bindings.LastBenchmarks}"/>
    </af:region>
    <!-- DEBUG:END:FORM_BROWSE_BUTTONS : default/pageComponent/formBrowseButtons.vm, nesting level: 4-->
    <af:panelForm rows="1" maxColumns="1" width="10%" id="BenchmarksFormItems">
    <!-- DEBUG:BEGIN:FORM_LOV_ITEM : default/item/form/formLovItem.vm, nesting level: 4 -->
    <af:selectInputText id="BenchmarksClient" label="Client" partialTriggers = " BenchmarksClient" showRequired="false" columns="40" maximumLength="35" readOnly="#{!(createModes.CreateBenchmarks)}" value="#{BenchmarksClientLovItem.lovFieldValue}"
    autoSubmit="true"
    immediate="true"
    valueChangeListener="#{BenchmarksClientLovItem.validateWithLov}"
    binding="#{BenchmarksClientLovItem.lovField}"
    action="dialog:Clients" windowHeight="200" windowWidth="600"
    returnListener="#{BenchmarksClientLovItem.returnedFromLov}">
    </af:selectInputText>
    <!-- DEBUG:END:FORM_LOV_ITEM : default/item/form/formLovItem.vm, nesting level: 4-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4 -->
    <af:inputText id="BenchmarksClientName" value="#{bindings.BenchmarksClientName.inputValue}" label="Client Name" partialTriggers = " BenchmarksClient" required="#{bindings.BenchmarksClientName.mandatory}" rows="#{bindings.BenchmarksClientName.displayHeight}" columns="40" maximumLength="50" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4 -->
    <af:inputText id="BenchmarksClientContact" value="#{bindings.BenchmarksClientContact.inputValue}" label="Client Contactperson" partialTriggers = " BenchmarksClient" required="#{bindings.BenchmarksClientContact.mandatory}" rows="1" columns="40" maximumLength="240" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4 -->
    <af:inputText id="BenchmarksClientContactDetails" value="#{bindings.BenchmarksClientContactDetails.inputValue}" label="Client Contact Details" partialTriggers = " BenchmarksClient" required="#{bindings.BenchmarksClientContactDetails.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4 -->
    <af:inputText id="BenchmarksGurIdRequestorOf" value="#{bindings.BenchmarksGurIdRequestorOf.inputValue}" label="GurIdRequestorOf" partialTriggers = " BenchmarksRequestor" required="#{bindings.BenchmarksGurIdRequestorOf.mandatory}" rows="#{bindings.BenchmarksGurIdRequestorOf.displayHeight}" columns="40" readOnly="#{!(createModes.CreateBenchmarks)}" >
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.BenchmarksGurIdRequestorOf.format}"/>
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4 -->
    <af:inputText id="BenchmarksLocation" value="" label="Location" required="#{bindings.BenchmarksLocation.mandatory}" rows="#{bindings.BenchmarksLocation.displayHeight}" columns="40" readOnly="true" >
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.BenchmarksLocation.format}"/>
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 4-->
    <!-- DEBUG:BEGIN:FORM_DATE_FIELD : default/item/form/formDateField.vm, nesting level: 4 -->
    <af:selectInputDate id="BenchmarksRequiredDelDate" value="#{bindings.BenchmarksRequiredDelDate.inputValue}" label="Required Delivery Date" required="#{bindings.BenchmarksRequiredDelDate.mandatory}" readOnly="#{!(createModes.CreateBenchmarks)}" >
    <af:convertDateTime pattern="#{nls.datepattern}"/>
    </af:selectInputDate>
    <!-- DEBUG:END:FORM_DATE_FIELD : default/item/form/formDateField.vm, nesting level: 4-->
    <!-- DEBUG:BEGIN:FORM_RADIO_VERTICAL : default/item/form/formRadioVertical.vm, nesting level: 4 -->
    <af:selectOneRadio id="BenchmarksRequestType" value="#{bindings.BenchmarksRequestType.inputValue}" label="Request Type" required="#{bindings.BenchmarksRequestType.mandatory}" readOnly="#{!(createModes.CreateBenchmarks)}" layout="vertical" >
    <!-- DEBUG:BEGIN:STATIC_DOMAIN_OPTIONS : default/item/staticDomainOptions.vm, nesting level: 5 -->
    <af:selectItem id="SiBenchmarksRequestType1" value="A" label="Economic Analysis"/>
    <af:selectItem id="SiBenchmarksRequestType2" value="U" label="Updated Economic Analysis"/>
    <af:selectItem id="SiBenchmarksRequestType3" value="S" label="Special Purpose Benchmark"/>
    <af:selectItem id="SiBenchmarksRequestType4" value="I" label="Economic Indicator"/>
    <!-- DEBUG:END:STATIC_DOMAIN_OPTIONS : default/item/staticDomainOptions.vm, nesting level: 5-->
    </af:selectOneRadio>
    <!-- DEBUG:END:FORM_RADIO_VERTICAL : default/item/form/formRadioVertical.vm, nesting level: 4-->
    </af:panelForm>
    <af:objectSpacer height="10" id="BenchmarksFormRegionsSpacer"/>
    <!-- DEBUG:BEGIN:VERTICAL_REGION_CONTAINER : default/pageComponent/verticalRegionContainer.vm, nesting level: 4 -->
    <af:panelGroup id="BenchmarksRegionsPanelGroup">
    <af:panelGroup id="BenchmarksRegionsrcHorizontalPanelGroup">
    <!-- DEBUG:BEGIN:HORIZONTAL_REGION_CONTAINER : default/pageComponent/horizontalRegionContainer.vm, nesting level: 5 -->
    <afh:tableLayout id="BenchmarksrcHorizontalTableLayout">
    <afh:rowLayout valign="top" id="BenchmarksrcHorizontalRowLayout">
    <afh:cellFormat valign="top" id="BenchmarksrcHorizontalirSearch1Cell">
    <af:panelHeader text="Search Details Primary Function Secondary Function Geography" id="BenchmarksrcHorizontalirSearch1PanelHeader">
    <!-- DEBUG:BEGIN:ITEM_REGION : default/pageComponent/itemRegion.vm, nesting level: 6 -->
    <af:panelForm rows="1" maxColumns="2" width="100%" id="BenchmarksirSearch1PanelForm">
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksCupPrimary" value="#{bindings.BenchmarksCupPrimary.inputValue}" label="CUP" required="#{bindings.BenchmarksCupPrimary.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksCutPrimary" value="#{bindings.BenchmarksCutPrimary.inputValue}" label="CUT" required="#{bindings.BenchmarksCutPrimary.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksTnmmPrimary" value="#{bindings.BenchmarksTnmmPrimary.inputValue}" label="TNMM + (Ratio)" required="#{bindings.BenchmarksTnmmPrimary.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksResalePrimary" value="#{bindings.BenchmarksResalePrimary.inputValue}" label="Resale Margin" required="#{bindings.BenchmarksResalePrimary.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksGrossPrimary" value="#{bindings.BenchmarksGrossPrimary.inputValue}" label="Gross Margin" required="#{bindings.BenchmarksGrossPrimary.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksCostPrimary" value="#{bindings.BenchmarksCostPrimary.inputValue}" label="Cost Plus" required="#{bindings.BenchmarksCostPrimary.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksCupGeography" value="#{bindings.BenchmarksCupGeography.inputValue}" label="" required="#{bindings.BenchmarksCupGeography.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksCutGeography" value="#{bindings.BenchmarksCutGeography.inputValue}" label="" required="#{bindings.BenchmarksCutGeography.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksTnmmGeography" value="#{bindings.BenchmarksTnmmGeography.inputValue}" label="" required="#{bindings.BenchmarksTnmmGeography.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksResaleGeography" value="#{bindings.BenchmarksResaleGeography.inputValue}" label="" required="#{bindings.BenchmarksResaleGeography.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksGrossGeography" value="#{bindings.BenchmarksGrossGeography.inputValue}" label="" required="#{bindings.BenchmarksGrossGeography.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksCostGeography" value="#{bindings.BenchmarksCostGeography.inputValue}" label="" required="#{bindings.BenchmarksCostGeography.mandatory}" rows="1" columns="25" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    </af:panelForm>
    <!-- DEBUG:END:ITEM_REGION : default/pageComponent/itemRegion.vm, nesting level: 6-->
    </af:panelHeader>
    </afh:cellFormat>
    <afh:cellFormat valign="top" id="BenchmarksrcHorizontalirTypeOfSaleCell">
    <af:panelHeader text="Type of Sale (Industry / Product)" id="BenchmarksrcHorizontalirTypeOfSalePanelHeader">
    <!-- DEBUG:BEGIN:ITEM_REGION : default/pageComponent/itemRegion.vm, nesting level: 6 -->
    <af:panelForm rows="1" maxColumns="1" width="100%" id="BenchmarksirTypeOfSalePanelForm">
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksWholesaleIndProd" value="#{bindings.BenchmarksWholesaleIndProd.inputValue}" label="Wholesale Distributor" required="#{bindings.BenchmarksWholesaleIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksLimitedIndProd" value="#{bindings.BenchmarksLimitedIndProd.inputValue}" label="Limited Risk Distibutor" required="#{bindings.BenchmarksLimitedIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksAgentIndProd" value="#{bindings.BenchmarksAgentIndProd.inputValue}" label="Agent" required="#{bindings.BenchmarksAgentIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksRetailIndProd" value="#{bindings.BenchmarksRetailIndProd.inputValue}" label="Retail" required="#{bindings.BenchmarksRetailIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksManufactoringIndProd" value="#{bindings.BenchmarksManufactoringIndProd.inputValue}" label="Manufactoring" required="#{bindings.BenchmarksManufactoringIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksRdIndProd" value="#{bindings.BenchmarksRdIndProd.inputValue}" label="R &amp; D" required="#{bindings.BenchmarksRdIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksEngineeringIndProd" value="#{bindings.BenchmarksEngineeringIndProd.inputValue}" label="Engineering" required="#{bindings.BenchmarksEngineeringIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksFinancialIndProd" value="#{bindings.BenchmarksFinancialIndProd.inputValue}" label="Financial" required="#{bindings.BenchmarksFinancialIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksManagementIndProd" value="#{bindings.BenchmarksManagementIndProd.inputValue}" label="Management" required="#{bindings.BenchmarksManagementIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksItIndProd" value="#{bindings.BenchmarksItIndProd.inputValue}" label="IT" required="#{bindings.BenchmarksItIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksHrIndProd" value="#{bindings.BenchmarksHrIndProd.inputValue}" label="HR" required="#{bindings.BenchmarksHrIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksTrainingIndProd" value="#{bindings.BenchmarksTrainingIndProd.inputValue}" label="Training" required="#{bindings.BenchmarksTrainingIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksMarketingIndProd" value="#{bindings.BenchmarksMarketingIndProd.inputValue}" label="Marketing" required="#{bindings.BenchmarksMarketingIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7 -->
    <af:inputText id="BenchmarksOtherIndProd" value="#{bindings.BenchmarksOtherIndProd.inputValue}" label="Other" required="#{bindings.BenchmarksOtherIndProd.mandatory}" rows="1" columns="40" maximumLength="255" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 7-->
    </af:panelForm>
    <!-- DEBUG:END:ITEM_REGION : default/pageComponent/itemRegion.vm, nesting level: 6-->
    </af:panelHeader>
    </afh:cellFormat>
    </afh:rowLayout>
    </afh:tableLayout>
    <!-- DEBUG:END:HORIZONTAL_REGION_CONTAINER : default/pageComponent/horizontalRegionContainer.vm, nesting level: 5-->
    </af:panelGroup>
    <af:panelHeader text="Comments / Further Information" id="BenchmarksRegionsTypeOfSearch2PanelHeader">
    <!-- DEBUG:BEGIN:ITEM_REGION : default/pageComponent/itemRegion.vm, nesting level: 5 -->
    <af:panelForm rows="1" maxColumns="1" width="100%" id="BenchmarksTypeOfSearch2PanelForm">
    <!-- DEBUG:BEGIN:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 6 -->
    <af:inputText id="BenchmarksSearchKeywords" value="#{bindings.BenchmarksSearchKeywords.inputValue}" label="" required="#{bindings.BenchmarksSearchKeywords.mandatory}" rows="2" columns="40" maximumLength="500" readOnly="#{!(createModes.CreateBenchmarks)}" >
    </af:inputText><!-- DEBUG:END:FORM_TEXT_INPUT : default/item/form/formTextInput.vm, nesting level: 6-->
    </af:panelForm>
    <!-- DEBUG:END:ITEM_REGION : default/pageComponent/itemRegion.vm, nesting level: 5-->
    </af:panelHeader>
    </af:panelGroup>
    <!-- DEBUG:END:VERTICAL_REGION_CONTAINER : default/pageComponent/verticalRegionContainer.vm, nesting level: 4-->
    </af:panelGroup>
    <!-- DEBUG:BEGIN:FORM_GROUP_BUTTONS : default/pageComponent/formGroupButtons.vm, nesting level: 4 -->
    <!-- DEBUG:END:FORM_GROUP_BUTTONS : default/pageComponent/formGroupButtons.vm, nesting level: 4-->
    <af:objectSpacer height="10" id="BenchmarksFormGroupSpacer"/>
    <!-- DEBUG:BEGIN:DETAIL_GROUPS : default/pageComponent/detailGroups.vm, nesting level: 4 -->
    <!-- DEBUG:END:DETAIL_GROUPS : default/pageComponent/detailGroups.vm, nesting level: 4-->
    </af:panelGroup>
    <!-- DEBUG:END:FORM_GROUP : default/pageComponent/formGroup.vm, nesting level: 3-->
    <!-- DEBUG:END:FORM_PAGE_CONTENT : default/page/formPageContent.vm, nesting level: 2-->
    </af:panelPage>
    </af:form>
    </afh:body>
    </afh:html>
    </f:view>
    </jsp:root>
    Happy Eastern!
    Erik

  • ReadOnly property set using bean does not re-evaluate on second load

    Hi all,
    We have the below table and column in our code. The column has a selection list whose readonly property depends on "row" level attributes. We have this table rendered based on context values on the page's header section. Based on the context on header, this table changes. But what we observe is that after the first context loads, the selectOneChoice8 item's "readOnly" EL expression is not re-evaluated for the second context load of the table.
              <af:table value="#{bindings.VoSum1.collectionModel}"
                        var="row" rows="#{bindings.VoSum1.rangeSize}"
                        width="100%" id="t1"
                        columnSelection="multiple"
                        binding="#{backingBeanScope.MyBean.profileContentTable}"
                        rendered="#{backingBeanScope.MyBean.profileSectionSummaryVisible}"
                        columnStretching="column:name"
                        partialTriggers="::simpleCreateButton ::deleteButton :::d2"
                        contentDelivery="immediate"
                        selectionListener="#{backingBeanScope.MyBean.selectProfileItemRow}"
                        rowBandingInterval="0" editingMode="editAll">
                                         <af:column
                           headerText="#{bindings.VoSum1.hints.LevelId1.label}"
                           id="LEVEL_ID1" sortable="true"
                           sortProperty="LevelId1" width="85">
                  <af:selectOneChoice
                      readOnly="#{pageFlowScope.pRoleCode != 'HR' &amp;&amp; row.QualifierId1 != null &amp;&amp; row.QualifierId1 != backingBeanScope.ProfileContentBean.defaultQualifierId}"
                                      value="#{row.bindings.LevelId1.inputValue}"
                                      shortDesc="#{bindings.ProfileItemSum1.hints.LevelId1.tooltip}"
                                      immediate="false" autoSubmit="#{bindings.ProfileUsageCode.inputValue == 'P'}"
                                      valueChangeListener="#{backingBeanScope.ProfileContentBean.levelChangeListener}"
                                      id="selectOneChoice8"
                                      partialTriggers="ModelId1">
                    <f:selectItems value="#{row.bindings.LevelId1.items}"
                                   id="si2"/>
                    <af:selectItem disabled="#{backingBeanScope.ProfileContentBean.LevelId1Rqd &amp;&amp; row.bindings.RatingLevelId1.inputValue != null}"
                                  id="si3" label="#{null}"/>
                  </af:selectOneChoice>
                </af:column>Do we need to refresh the state of the table on every context change? Would use of UIComponent.processRestoreState() be an option? Any pointers would be immensely appreciated.
    Thanks in advance,
    Srini

    Thanks Vishal for the pointer. Tried this and it did not work for me :(.
    We were overriding the value expression for 'readOnly' by setting 'true' or 'false' explicity in the bean. When the context changes, once we set in the bean, it appears that the selectOneChoice's readOnly value expression does not get evaluated once we set the 'readOnly' property in the bean. Next time on, it retains the value set in the bean onto the uiComponent of the selectOneChoice.
    So we worked around this by getting the value expression in the bean and appending the bean evaluated value of 'true' or 'false' to the ui value expression. Next time the context changes, we extract the value expression from uiComponent instance and strip it to reconstruct the original value expression :).
    It worked even though it looks weird that the selectOneChoice does not get re-evaluated despite the entire table getting refreshed.

  • No getter method for property user of bean Problem

    Hi everyone,
    I am new to this struts. I have a samll application to check login. When I run my application I get this message in my server console
    No getter method for property user of bean org.apache.struts.taglib.html.BEAN
    I saw the previous forum for the same topic. I have checked my property names start with appropriate cases. Here is my code
    %@ page language="java" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <html>
    <head><title>Login</title></head>
    <body>
    <html:form action="submit.do">
    <table width="100%" border="0" height=75%>
    <tr>
    <td align="right" >UserName: </td>
    <td><html:text property="user"/></td>
    <tr>
    <tr>
    <td align="right" >Password: </td>
    <td><html:text property="password"/></td>
    </tr>
    <tr>
    <td colspan=2 align="center"><html:submit/></td>
    </tr>
    <tr>
    <td colspan=2 align="center"><html:errors/></td>
    </tr>
    </table>
    </html:form>
    </body>
    </html>
    import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.*;
    import java.util.*;
    * @author skannan
    * To change this generated comment edit the template variable "typecomment":
    * Window>Preferences>Java>Templates.
    * To enable and disable the creation of type comments go to
    * Window>Preferences>Java>Code Generation.
    public class LoginForm extends ActionForm
    private String user = null;
    private String password = null;
    /* user */
    public String getUser()
    return (this.user);
    public void setUser(String user)
    this.user = user;
    /* password */
    public String getPassword()
    return (this.password);
    public void setPassword(String password)
    this.password = password;
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    // Log the forms data
    servlet.log("Lastname:" + user);
    servlet.log("Address:" + password);
    // Check for mandatory data
    ActionErrors errors = new ActionErrors();
    if (user == null || user.equals("")) {
    errors.add("User", new ActionError("error.user"));
    if (password == null || password.equals("")) {
    errors.add("Password", new ActionError("error.password"));
    return errors;
    I am missing anything in my config files. Please I need help.
    Thanks!

    I did check my struts-config file
    Here is the part of my file
    <!-- ========== Form Bean Definitions ================= -->
    <form-beans>
    <form-bean name="loginForm"
    type="kannan.struts.trailer.checkin.LoginForm"/>
    <form-bean name="checkInForm"
    type="kannan.struts.trailer.checkin.CheckInForm"/>
    </form-beans>
    <!-- ========== Action Mapping Definitions ============ -->
    <action-mappings>
    <action path="/submit"
    type="kannan.struts.trailer.checkin.LoginAction"
    name="loginForm"
    input="/login.jsp"
    scope="request">
    <forward name="success" path="/checkIn.jsp"/>
    <forward name="failure" path="/login.jsp"/>
    </action>
    Still I am getting the error

  • Can't set managed bean property:

    Hi,
    I am trying to experiment with JSF and I am extending an example I downloaded from the web. When I added a new secret field and extened the bean. I get the following error. I trying to resolve this problem from two days , cant figure out why I get this exception. I tried changed the property name I still get the same error. It is something to do with the bean, I am not sure why its not able to set the property, I know that the get and set methods exist in the class file. Any help would be greatly appreciated . I have pasted the bean file, faces-config.xml, and the inputname.jsp file below. Thanks a lot.
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: javax.faces.FacesException: javax.faces.FacesException: Can't set managed bean property: 'word'.
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:147)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
         at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:430)
         at org.apache.jsp.index_jsp._jspService(index_jsp.java:48)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:220)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:65)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:197)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
         at java.lang.Thread.run(Thread.java:536)
    root cause
    javax.servlet.ServletException: javax.faces.FacesException: javax.faces.FacesException: Can't set managed bean property: 'word'.
         at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:531)
         at org.apache.jsp.inputname_jsp._jspService(inputname_jsp.java:94)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:147)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
         at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:430)
         at org.apache.jsp.index_jsp._jspService(index_jsp.java:48)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:220)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:65)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:197)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
         at java.lang.Thread.run(Thread.java:536)
    My JSP file is
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <f:loadBundle basename="demo.bundle.Messages" var="Message"/>
    <HTML>
    <HEAD> <title>Input Name Page</title> </HEAD>
    <body bgcolor="white">
         <f:view>
              <h1><h:outputText value="#{Message.inputname_header}"/></h1>
              <h:messages style="color: red"/>
         <h:form id="helloForm" >
              <h:outputText value="#{Message.prompt}"/>
              <h:inputText id="userName" value="#{GetNameBean.userName}" required="true">
                   <f:validateLength minimum="2" maximum="10"/>
              </h:inputText>
              <h:inputSecret id="word" value="#{GetNameBean.word}" required="true">
                   <f:validateLength minimum="2" maximum="10"/>
              </h:inputSecret>
              <h:commandButton id="submit" action="sayhello" value="Say Hello" />
         </h:form>
    </f:view>
    </HTML>
    My faces-config.xml is as follow
    <?xml version="1.0"?>
    <!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>
    <navigation-rule>
    <from-view-id>/inputname.jsp</from-view-id>
    <navigation-case>
    <to-view-id>/greeting.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <managed-bean>
    <description>
    Input Value Holder
    </description>
    <managed-bean-name>GetNameBean</managed-bean-name>
    <managed-bean-class>demo.GetNameBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>userName</property-name>
    <property-class>java.lang.String</property-class>
    <value></value>
         </managed-property>
         <managed-property>
    <property-name>word</property-name>
         <property-class>java.lang.String</property-class>
         <value></value>
         </managed-property>
    </managed-bean>
    </faces-config>
    My bean file is as follows GetNameBean.java
    package demo;
    * @author Sergey Smirnov. Exadel, Inc.
    public class GetNameBean {
    private String userName;
    private String word;
    * @return User Name
    public String getUserName() {
    return userName;
    * @param User Name
    public void setUserName(String name) {
    this.userName = name;
    * @return Password
    public String getWord() {
    return word;
    * @param Password
    public void setWord(String word) {
    this.word = word;

    Hello,
    Thanks for the reply. I used Camelcase, but its giving me the same error. I am also posting my bean files and jsp files for your reference.
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    javax.servlet.ServletException: org.apache.jasper.JasperException: javax.faces.FacesException: javax.faces.FacesException: Can't set managed bean property: 'UserName'.
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:121)
         org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    root cause
    javax.faces.FacesException: org.apache.jasper.JasperException: javax.faces.FacesException: javax.faces.FacesException: Can't set managed bean property: 'UserName'.
         com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:327)
         com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:147)
         com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
         com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
         org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
    LOGIN.JSP file
    <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
    <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
    <f:view>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <f:verbatim escape="false">
    <head>
    <title>My JSP 'login.jsp' starting page</title>
         <meta http-equiv="pragma" content="no-cache">
         <meta http-equiv="cache-control" content="no-cache">
         <meta http-equiv="expires" content="0">
         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
         <meta http-equiv="description" content="This is my page">
         <!--
         <link rel="stylesheet" type="text/css" href="styles.css">
         -->
    </head>
    </f:verbatim>
    <body>
    <h:form rendered="true" id="loginform">
    <f:verbatim escape="false"><br><br> </f:verbatim>
    <h:outputLabel for="userName" rendered="true"></h:outputLabel>
    <h:inputText id="userName" required="true" rendered="true" value="#{UserBean.userName}"></h:inputText>
    <f:verbatim escape="false"><br> </f:verbatim>
    <h:outputLabel for="password" rendered="true"></h:outputLabel>
    <h:inputSecret id="password" redisplay="false" required="true" rendered="true" value="#{UserBean.password}"></h:inputSecret>
    <h:commandButton id="submit" action="#{UserBean.loginUser}" rendered="true" value=" Submit"></h:commandButton><br><br></h:form>
    </body>
    </html>
    </f:view>
    UserBean file
    package com.jsfdemo.bean;
    import javax.faces.application.FacesMessage;
    import javax.faces.context.FacesContext;
    * @author ExterroAdmin
    public final class UserBean extends Object
         private String password;
         private String userName;
         public UserBean()
              super();
         public String getPassword()
              return password;
         public void setPassword(String password)
              this.password = password;
         public String getUserName()
              return userName;
         public void setUserName(String userName)
              this.userName = userName;
         public String loginUser() {
    if("myeclipse".equals(getUserName()) && "myeclipse".equals(getPassword()))
    return "success";
    FacesContext facesContext = FacesContext.getCurrentInstance();
    FacesMessage facesMessage = new FacesMessage(
    "You have entered an invalid user name and/or password");
    facesContext.addMessage("loginForm", facesMessage);
    return "failure";
    If you need any more information, please let me know

Maybe you are looking for