`
小嘴冰凉
  • 浏览: 447680 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts DynaActionForm 使用心得

阅读更多
本人很懒,相当懒,一个方法能写一遍绝不写两遍。

而普通的ActionForm必须要在自己写好多get 、set方法,很烦,幸好有DynaActionForm解脱了我。

但是今天想使用DynaActionForm传对象的时候碰到问题了,准确点说就是我希望DynaActionForm实现如下的功能:
public class UserActionForm extends Actions{
private User user;
public User getUser();
public User setUser();
}
可是我不知道DynaActionForm能不能传对象,还是只能传一些普通的类型。查找http://struts.apache.org/的User Guide,上面说
The types supported by DynaActionForm include:

java.math.BigDecimal
java.math.BigInteger
boolean and java.lang.Boolean
byte and java.lang.Byte
char and java.lang.Character
java.lang.Class
double and java.lang.Double
float and java.lang.Float
int and java.lang.Integer
long and java.lang.Long
short and java.lang.Short
java.lang.String
java.sql.Date
java.sql.Time
java.sql.Timestamp
我晕了,难道不行。

不死心,查找Struct in Action里面又说:
“你可以在使用ActionForm 的任何地方使用DynaActionForm”。搞得我很迷惑。

最后的结论是:可以的。经过我一天的试验。
user.jsp如下写:
        <html:form action="/shangJia">
            name : <html:text name="userForm" property="user.name" />
            <html:errors property="name" />
            street : <html:text name="userForm" property="user.name" />
            <html:errors property="street" />
            phone : <html:text name="userForm" property="user.name" />
            <html:errors property="phone" />
            <br />
            <html:submit />
            <html:cancel />
        </html:form>
struts-config.xml如下写:
    <form-beans>
        <form-bean name="userForm" type="org.apache.struts.action.DynaActionForm">
            <form-property name="shangJia" type="com.test.Hibernate.User" />
        </form-bean>
    </form-beans>
    <action-mappings>
        <action attribute="userForm" input="/user.jsp" name="newShangJiaForm" path="/user" scope="request" type="com.web669.Hibernate.ShangJiaAction" />
    </action-mappings>
UserAction.java如下写:
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        DynaActionForm shangJiaForm = (DynaActionForm) form;
        User user = (User) shangJiaForm.get("user");
        userDAO.save(user);
        return mapping.findForward("indexGO");
    }
即可。方便啊
分享到:
评论

相关推荐

    struts1配置文件中DynaActionForm的使用

    用jsp、action、struts-config.xml配置文件,举例说明了DynaActionForm 在struts1 中的作用。

    Struts framework中DynaActionForm(动态表单)介绍及应用

    DynaActionForm(动态表单)介绍及应用,Struts framework中,ActionForm对象的封装及应用,通过Struts framework中的DynaActionForm类及其子类可以实现动态的ActionForm ,动态的ActionForm允许你通过Struts的配置...

    Struts原理(二)

    掌握DispatchAction 掌握在Struts中使用资源文件实现国际化 学会使用Struts显示出错信息 掌握DynaActionForm的使用 学会使用实体对象作为Form属性的开发技巧

    Struts1.3 备忘笔记

    05 Struts_05DynaActionForm : 相对应ActionForm来说,动态ActionForm只需要在配置文件中配置就可以了,但是它不能实现验证功能,演示人机交互实例。 06 Struts_06Filter : 中文编码的统一处理,通过Struct的请求...

    struts1.x上传实例

    &lt;form-bean name="actionForm" type="org.apache.struts.action.DynaActionForm"&gt; &lt;form-property name = "filedata" type = "org.apache.struts.upload.FormFile" /&gt; name="actionForm" ...

    [摘]Struts 学习笔记之ActionForm

    比上面的完整 博文链接:https://shangdiyefankun.iteye.com/blog/122443

    dynaActionForm.exe

    好东西 struts

    Struts in Action中文版

    2.6.2. Struts的强项........................................................................................................58 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM ...

    struts in Action

    1.1.1. 谁创建了Struts?...................................................................................................19 1.1.2. 为什么Struts 要开源?....................................................

Global site tag (gtag.js) - Google Analytics