Managed Bean的編輯的對象列表不會在JSF提交
@SuppressWarnings("serial")
@ManagedBean(name = "samplemanage")
@RequestScoped
public class SampleManage implements Serializable
{
private List<Sample> samplelist;
/**
* @return the samplelist
*/
public List<Sample> getSamplelist()
{
return samplelist;
}
/**
* @param samplelist the samplelist to set
*/
public void setSamplelist(List<Sample> samplelist)
{
this.samplelist = samplelist;
}
public void docklist(ComponentSystemEvent event)
{
List<Sample> samplelist = new ArrayList<Sample>();
for(int i = 0 ; i < 10 ; i++)
{
Sample sa = new Sample();
sa.setName("sample"+i);
samplelist.add(sa);
}
this.samplelist = samplelist;
for(Sample sa1 : this.samplelist)
System.out.println("inserted name is "+sa1.getName());
}
public void checkaction()
{
for(Sample sa : samplelist)
System.out.println("output name is "+sa.getName());
}
}
樣例類
public class Sample
{
private String name;
//getter and setter
}
XHTML
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<f:event listener="#{samplemanage.docklist}" type="preRenderView" />
</h:head>
<h:body>
<h:form>
<center>
<p:dataTable id="sample" var = "sample" value="#{samplemanage.samplelist}">
<p:column headerText="Name">
<h:inputText value="#{sample.name}"></h:inputText>
</p:column>
</p:dataTable>
<p:commandButton id="submit" value="Submit" type="submit" action="#{samplemanage.checkaction}">
</p:commandButton>
</center>
</h:form>
</h:body>
</html>
輸出
Mar 31, 2014 1:17:13 AM com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{samplemanage.checkaction}: java.lang.NullPointerException
javax.faces.FacesException: #{samplemanage.checkaction}: java.lang.NullPointerException
2014年3月31日上午01點17分13秒com.sun.faces.lifecycle.InvokeApplicationPhase執行 警告:#{samplemanage.checkaction}:顯示java.lang.NullPointerException javax.faces。 FacesException:#{} samplemanage.checkaction:顯示java.lang.NullPointerException
我需要從形式得到編輯的值,並打印出來, 我覺得這是很好的方式, 但我不知道爲什麼它的迴歸空指針異常。 我在這裏做錯了什麼
很多謝謝SJuan我明白了。 – user3463207