DynaActionForm动态form可以不局限于某一个html表单页面,当表单页面内容增加或减少中,只需修改struts-config.xml文件即可生成新的form,免去了重新编译form的烦恼

<%...@ page contentType="text/html; charset=GBK" %>

<%...@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<title>
jsp3
</title>
</head>
<body bgcolor="#ffffff">
<html:form action="/insertAction3.do">
name:<html:text property="name"/>
pass:<html:text property="password"/>
<html:submit>submit
</html:submit>
</html:form>
</body>
</html>
<struts-config>
<form-beans>
<form-bean name="loginForm" dynamic="true"
type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
</form-beans>
<action-mappings>
<action scope="session" name="loginForm" path="/insertAction3"
type="untitled2.InsertAction3" validate="false" />
</action-mappings>
<message-resources parameter="ApplicationResources" />
</struts-config>
注:动态表单是配置出来的,其reset()方法不执行任何操作,validate()方法也没有提 供任何默认的验证行为,可以通过建立DynaActionForm子类覆盖validate()方法, 但这样做违背了DynaActionForm的初衷-用配置代替编程,所以
DynaActionForm的验证由Validator框架完成最好
JSP页面

<%...@ page contentType="text/html; charset=GBK" %>
<%...@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<title>
jsp3
</title>
</head>
<body bgcolor="#ffffff">
<html:form action="/insertAction3.do">
name:<html:text property="name"/>
pass:<html:text property="password"/>
<html:submit>submit
</html:submit>
</html:form>
</body>
</html>
struts-config.xml文件内容
<struts-config>
<form-beans>
<form-bean name="loginForm" dynamic="true"
type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
</form-beans>
<action-mappings>
<action scope="session" name="loginForm" path="/insertAction3"
type="untitled2.InsertAction3" validate="false" />
</action-mappings>
<message-resources parameter="ApplicationResources" />
</struts-config>

DynaActionForm的验证由Validator框架完成最好
本文介绍如何使用Struts2中的DynaActionForm实现动态表单,通过配置struts-config.xml文件来动态生成表单内容,避免频繁修改代码。文章还探讨了DynaActionForm的验证方式及其实现。

被折叠的 条评论
为什么被折叠?



