我正在創建一個只有一個JSP頁面(1個下拉列表,1個數據表提交按鈕)的簡單JSF應用程序。JSF Datatable Binding無法正常工作
當我從下拉列表中選擇值時,我使用arraylist填充表格以顯示錶格數據。該表是可編輯的。現在當我點擊提交時,我需要將整個表格放入列表中。爲此,我使用了datatable的binding屬性。但問題是null從getValue返回。
請幫我解決這個問題,因爲我浪費了很多時間。
class UserBean {
.....
private HtmlDataTable _dataTable;
public void setDataTable(HtmlDataTable dataTable)
{
this._dataTable = dataTable;
}
public HtmlDataTable getDataTable()
{
return _dataTable;
}
...................
public String submit() {
List<User> userDetails = (ArrayList<User>)((HtmlDataTable)getDataTable()).getValue();
System.out.println(userDetails);
return "";
}
}
// JSP頁面
<h:dataTable id="erdatatable"
var="row" value="#{UserBean.userDetails}"
binding="#{UserBean.dataTable}">
....
</h:dataTable>
<h:commandButton value="Submit" action="#{UserBean.submit}"></h:commandButton>
// faces.config
<managed-bean>
<managed-bean-name>UserBean</managed-bean-name>
<managed-bean-class>com.datatable.UserBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
// web.xml中
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
非常感謝...它得到解決..謝謝非常多:) – Soheb 2013-04-11 08:30:44