动态生成表格,但是点击页面的取消按钮后报如下错误:
严重: Servlet.service() for servlet Faces Servlet threw exception
javax.el.ELException: /dictionary/dictionaryOperation.xhtml @12,121 binding="#{dictionary.dictionaryOperationBean.grid}": 类型com.btcms.dictionary.DictionaryOperationBean的'grid'属性不可写。
>>> #{dictionary.dictionaryOperationBean.grid}
at __expression__(0)
-------------------------
at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:101)
at org.operamasks.faces.lifecycle.RestoreView.updateValueBindings(RestoreView.java:140)
at org.operamasks.faces.lifecycle.RestoreView.execute(RestoreView.java:96)
at org.operamasks.faces.lifecycle.LifecycleImpl.doPhase(LifecycleImpl.java:135)
at org.operamasks.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:83)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.operamasks.faces.webapp.filter.DefaultSuffixRedirector.doFilter(DefaultSuffixRedirector.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
严重: Servlet.service() for servlet Faces Servlet threw exception
javax.el.ELException: /dictionary/dictionaryOperation.xhtml @12,121 binding="#{dictionary.dictionaryOperationBean.grid}": 类型com.btcms.dictionary.DictionaryOperationBean的'grid'属性不可写。
>>> #{dictionary.dictionaryOperationBean.grid}
at __expression__(0)
-------------------------
at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:101)
at org.operamasks.faces.lifecycle.RestoreView.updateValueBindings(RestoreView.java:140)
at org.operamasks.faces.lifecycle.RestoreView.execute(RestoreView.java:96)
at org.operamasks.faces.lifecycle.LifecycleImpl.doPhase(LifecycleImpl.java:135)
at org.operamasks.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:83)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.operamasks.faces.webapp.filter.DefaultSuffixRedirector.doFilter(DefaultSuffixRedirector.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
private HtmlPanelGrid grid = null;
public HtmlPanelGrid getGrid(){
grid = new HtmlPanelGrid();
grid.setId("grid");
grid.setRendered(true);
List list = grid.getChildren();
List input = getHtmlInputText();
List label = getHtmlOutputLabel();
List button = getHtmlCommandButton();
for(int i = 0;i < label.size();i ++){
for(int j = 0;j < input.size();j ++){
list.add(label.get(i));
list.add(input.get(i));
}
}
for(int i = 0;i < button.size();i ++){
list.add(button.get(i));
}
return grid;
}
页面代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML PUBLIC "" "">
<f:view xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
xmlns:w="http://www.apusic.com/jsf/widget" xmlns:layout="http://www.apusic.com/jsf/layout"
xmlns:h="http://java.sun.com/jsf/html" xmlns:ajax="http://www.apusic.com/jsf/ajax"
renderKitId="AJAX">
<w:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</w:head>
<w:page title="Insert title here">
<w:form id = "form1">
<h:panelGrid binding="#{dictionary.dictionaryOperationBean.grid}" columns="2" style="readOnly:false" rendered="true"/> </w:form>
</w:page>
</f:view>谢谢各位,很急……