介绍struts的新特性:LazyActionForm
2008-02-28 09:40
381 查看
STRUTS的 ActionForm到现在为止,出现了最少三种方式: 普通的 ,动态的 和 懒惰的 .
所以你在你自已的开发中,可以有很多选择,如果你安全第一,可以用普通的.如果你更喜欢XML,则用动态的.
如果你很懒,那就用Lazy ActionForm.
STRUTS提供的这三种ActionForm方式,要实际应用中你只要选择一种就可以了.
下面说说Lazy ActionForm:
如果你喜欢STRUTS的强大的功能的特性(就比如这个ActionForm有多种选择),又喜欢快捷, Lazy ActionForm对你来说是一个好消息. 这个有点类似于WW2中值得称道的一个特性,可以减少编写ActionForm的麻烦.(STRUTS正在把WW2中好的东西都吸收进来了,难怪这两个东西以后会合并为STRUTS IT).
示例代码如下:
struts-config.xml配置
<struts-config>
<form-beans>
<form-bean name="lazyForm" type="org.apache.struts.validator.LazyValidatorForm"/>
</form-beans>
<action-mappings>
<action path="/myActionPath" type="myPackage.MyAction" name="lazyForm" validate="true"/>
</action-mappings>
</struts-config>
JSP网页
<html:form action="/myActionPath">
<h2>Simple Property Example</h2>
Customer Number: <html:text property="custNo"/>
Customer Name: <html:text property="custName"/>
<h2>Mapped Property Example</h2>
Street: <html:text property="address(street)"/>
Town: <html:text property="address(town)"/>
State: <html:text property="address(state)"/>
Country: <html:text property="address(country)"/>
<h2>Indexed Property Example</h2>
<logic:iterate id="products" property="products">
Product Code: <html:text name="products" property="code" indexed="true"/>
Product Description: <html:text name="products" property="description" indexed="true"/>
Product Price: <html:text name="products" property="price" indexed="true"/>
</logic:iterate>
</html:form>
action调用
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServeletRequest request,
HttpServletResponse response) throws Exception {
// Cast form to DynaBean
DynaBean dynaForm = (DynaBean)form;
// Use the DynaBean
String custNo = (String)dynaForm.get("custNo"); // simple
Map address = (Map)dynaForm.get("address"); // mapped
List products = (List)dynaForm.get("products"); // indexed
... etc etc
}
在ACTION中,你可以使用 BeanUtils 1.7.0的特性,把dynaForm一次性拷贝到HIBERNATE的POJO中去!
所以你在你自已的开发中,可以有很多选择,如果你安全第一,可以用普通的.如果你更喜欢XML,则用动态的.
如果你很懒,那就用Lazy ActionForm.
STRUTS提供的这三种ActionForm方式,要实际应用中你只要选择一种就可以了.
下面说说Lazy ActionForm:
如果你喜欢STRUTS的强大的功能的特性(就比如这个ActionForm有多种选择),又喜欢快捷, Lazy ActionForm对你来说是一个好消息. 这个有点类似于WW2中值得称道的一个特性,可以减少编写ActionForm的麻烦.(STRUTS正在把WW2中好的东西都吸收进来了,难怪这两个东西以后会合并为STRUTS IT).
示例代码如下:
struts-config.xml配置
<struts-config>
<form-beans>
<form-bean name="lazyForm" type="org.apache.struts.validator.LazyValidatorForm"/>
</form-beans>
<action-mappings>
<action path="/myActionPath" type="myPackage.MyAction" name="lazyForm" validate="true"/>
</action-mappings>
</struts-config>
JSP网页
<html:form action="/myActionPath">
<h2>Simple Property Example</h2>
Customer Number: <html:text property="custNo"/>
Customer Name: <html:text property="custName"/>
<h2>Mapped Property Example</h2>
Street: <html:text property="address(street)"/>
Town: <html:text property="address(town)"/>
State: <html:text property="address(state)"/>
Country: <html:text property="address(country)"/>
<h2>Indexed Property Example</h2>
<logic:iterate id="products" property="products">
Product Code: <html:text name="products" property="code" indexed="true"/>
Product Description: <html:text name="products" property="description" indexed="true"/>
Product Price: <html:text name="products" property="price" indexed="true"/>
</logic:iterate>
</html:form>
action调用
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServeletRequest request,
HttpServletResponse response) throws Exception {
// Cast form to DynaBean
DynaBean dynaForm = (DynaBean)form;
// Use the DynaBean
String custNo = (String)dynaForm.get("custNo"); // simple
Map address = (Map)dynaForm.get("address"); // mapped
List products = (List)dynaForm.get("products"); // indexed
... etc etc
}
在ACTION中,你可以使用 BeanUtils 1.7.0的特性,把dynaForm一次性拷贝到HIBERNATE的POJO中去!
相关文章推荐
- struts.xml文件属性介绍
- struts2的struts.properties的属性介绍
- 介绍MIDP2.0新特性Alpha混合
- 2012版辅助开发工具包(ADT)新功能特性介绍及安装使用
- 刘晨:ThinkPHP特性剖析和TOPThink平台介绍
- struts2:struts.properties配置文件介绍及常量加载顺序
- 关于struts之ActionForm使用方法
- HTML5新特性介绍
- Unity5.0新特性介绍IL2CPP内部构建
- Struts中ActionForm的初始化步骤
- PHP高级特性技术介绍
- OpenNebula 4.0 Beta 新特性介绍
- Android新特性介绍,ConstraintLayout完全解析
- Unreal Enginer4特性介绍-牛B闪闪的UE4
- MIDP3.0新增特性介绍
- (Struts)动态ActionForm(转)
- struts中的ActionForm原理
- 嗨网HiGrid功能及特性介绍
- C#特性的简单介绍
- PHP5.3新特性介绍