FormView标签能够根据状态(新增,查看,修改,删除操作)和表单的属性(最大长度,是不是Date或是否必填等)来控制Form中的表单到底是要修饰成READ-ONLY或还是READ-WRITE。因此利用FormView我们就可以在同一JSP页面中很简洁得实现CRUD(CREATE,UPDATE,READ,DELETE)操作而无需多个JSP页面或复杂的条件判断。它看起来类似于struts-layout,但是FormView不仅能够控制简单的HTML input而且还能够控制任何能生成HTML input的JSP标签(如struts的html:text标签,也可以是自己开发的标签)。当配置好FormView之后在我们的Form之间加上formview:page标签如下所示: <%@ taglib uri="/WEB-INF/form-view.tld" prefix="formview" %> .... <formview:page> <!-- HTML input text --> <input type="text" name="project" value="Struts Project" /> <!-- Struts HTML input text --> <html:text property="projectDate" /> .... other JSP taglib.... </formview:page> 如果要把form中表单设置成READ状态,只要在request中保存该状态: request.setAttribute(FormViewConstants.REQUEST_FORMSTATE_KEY, FormViewConstants.STATE_READ); 最终的HTML页面将被修改为: <!-- HTML input text --> <input type="text" name="project" value="Struts Project" readonly="readonly"/> <!-- Struts HTML input text --> <input type="text" name="projectDate" value="" readonly="readonly"/> .... http://formview.sourceforge.net/ |