You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Lance Frohman (JIRA)" <de...@myfaces.apache.org> on 2006/07/02 17:16:29 UTC
[jira] Created: (MYFACES-1349) selectonelistbox inside datatable
crashes
selectonelistbox inside datatable crashes
-----------------------------------------
Key: MYFACES-1349
URL: http://issues.apache.org/jira/browse/MYFACES-1349
Project: MyFaces Core
Type: Bug
Versions: 1.1.3
Reporter: Lance Frohman
Fix For: 1.1.3
I have a selectonelistbox inside a datatable. When I submit the form, I get a
17:12:02,640 DEBUG PropertyResolverImpl:177 - Exception while setting property; base with class : TestUnit, property : item1
javax.faces.el.PropertyNotFoundException: Bean: TestUnit, property: item1
at org.apache.myfaces.el.PropertyResolverImpl.setProperty(PropertyResolverImpl.java:391)
at org.apache.myfaces.el.PropertyResolverImpl.setValue(PropertyResolverImpl.java:173)
at org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:275)
at javax.faces.component.UIInput.updateModel(UIInput.java:269)
. . .
for the value of the selectonelistbox. Note, the exception only prints out when the
log4j.properties is set to debug, otherwise I don't get any information why it
doesn't work. Also, I have the same problem with <h:inputhidden>.
test.jsp
================
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<f:view>
<html>
<body>
<h:form id="test">
<h:dataTable var="unit" value="#{testBean.units}">
<h:column>
<h:outputText value="#{unit.item2}"></h:outputText>
<h:selectOneListbox value="#{unit.item1}" size="1">
<f:selectItems value="#{unit.items1}" />
</h:selectOneListbox>
</h:column>
</h:dataTable>
<h:commandButton value="submit" action="#{testBean.processForm}" />
</h:form>
</body>
</html>
</f:view>
================
TestBean.java
================
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
public class TestBean implements Serializable {
private static final long serialVersionUID = 1L;
private DataModel units;
public TestBean() {
List unitList = new ArrayList();
unitList.add(new TestUnit());
units = new ListDataModel();
units.setWrappedData(unitList);
}
public DataModel getUnits() {
return units;
}
public void processForm() {
System.out.println("processForm");
}
}
================
TestUnit.java
================
import java.io.Serializable;
import javax.faces.model.SelectItem;
public class TestUnit implements Serializable {
private static final long serialVersionUID = 1L;
public TestUnit() {
super();
}
public String getItem1() {
return "1";
}
public String getItem2() {
return "2";
}
public SelectItem[] getItems1() {
SelectItem[] items1 = new SelectItem[5];
int loop = 0;
items1[loop] = new SelectItem("" + loop, "");
for (loop = 1; loop < 5; loop++) {
items1[loop] = new SelectItem("" + loop, "" + loop);
}
return items1;
}
}
================
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Resolved: (MYFACES-1349) selectonelistbox inside datatable
crashes
Posted by "Lance Frohman (JIRA)" <de...@myfaces.apache.org>.
[ http://issues.apache.org/jira/browse/MYFACES-1349?page=all ]
Lance Frohman resolved MYFACES-1349:
------------------------------------
Resolution: Fixed
(Unbelievable) Oversight - there is no setter for item1 in TestUnit.
Please close this issue (and pretend it never happened).
> selectonelistbox inside datatable crashes
> -----------------------------------------
>
> Key: MYFACES-1349
> URL: http://issues.apache.org/jira/browse/MYFACES-1349
> Project: MyFaces Core
> Type: Bug
> Versions: 1.1.3
> Reporter: Lance Frohman
> Fix For: 1.1.3
>
> I have a selectonelistbox inside a datatable. When I submit the form, I get a
> 17:12:02,640 DEBUG PropertyResolverImpl:177 - Exception while setting property; base with class : TestUnit, property : item1
> javax.faces.el.PropertyNotFoundException: Bean: TestUnit, property: item1
> at org.apache.myfaces.el.PropertyResolverImpl.setProperty(PropertyResolverImpl.java:391)
> at org.apache.myfaces.el.PropertyResolverImpl.setValue(PropertyResolverImpl.java:173)
> at org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:275)
> at javax.faces.component.UIInput.updateModel(UIInput.java:269)
> . . .
> for the value of the selectonelistbox. Note, the exception only prints out when the
> log4j.properties is set to debug, otherwise I don't get any information why it
> doesn't work. Also, I have the same problem with <h:inputhidden>.
> test.jsp
> ================
> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
> <f:view>
> <html>
> <body>
> <h:form id="test">
> <h:dataTable var="unit" value="#{testBean.units}">
> <h:column>
> <h:outputText value="#{unit.item2}"></h:outputText>
> <h:selectOneListbox value="#{unit.item1}" size="1">
> <f:selectItems value="#{unit.items1}" />
> </h:selectOneListbox>
> </h:column>
> </h:dataTable>
> <h:commandButton value="submit" action="#{testBean.processForm}" />
> </h:form>
> </body>
> </html>
> </f:view>
> ================
> TestBean.java
> ================
> import java.io.Serializable;
> import java.util.ArrayList;
> import java.util.List;
> import javax.faces.model.DataModel;
> import javax.faces.model.ListDataModel;
> public class TestBean implements Serializable {
> private static final long serialVersionUID = 1L;
> private DataModel units;
> public TestBean() {
> List unitList = new ArrayList();
> unitList.add(new TestUnit());
> units = new ListDataModel();
> units.setWrappedData(unitList);
> }
> public DataModel getUnits() {
> return units;
> }
> public void processForm() {
> System.out.println("processForm");
> }
> }
> ================
> TestUnit.java
> ================
> import java.io.Serializable;
> import javax.faces.model.SelectItem;
> public class TestUnit implements Serializable {
> private static final long serialVersionUID = 1L;
> public TestUnit() {
> super();
> }
> public String getItem1() {
> return "1";
> }
> public String getItem2() {
> return "2";
> }
> public SelectItem[] getItems1() {
> SelectItem[] items1 = new SelectItem[5];
> int loop = 0;
> items1[loop] = new SelectItem("" + loop, "");
> for (loop = 1; loop < 5; loop++) {
> items1[loop] = new SelectItem("" + loop, "" + loop);
> }
> return items1;
> }
> }
> ================
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira