【第22期】观点:IT 行业加班,到底有没有价值?

struts DynaActionForm 使用心得

原创 2007年09月25日 08:41:00
本人很懒,相当懒,一个方法能写一遍绝不写两遍。

而普通的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");
    }
即可。方便啊 
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Struts心得--DispatchAction使用日记

Struts1.1发布了这么长时间了,我才刚刚开始系统地学习Struts的相关知识,经过前一阵潜心研究,对Struts1.1中已有的类DispatchAction有了进一步的认识。我将在这里总结一下,...

Struts动态ActionForm的使用--DynaActionForm

近期在动态的表报系统的开发中,用到动态的ActionForm的开发,有一些心得希望和大家分享想: 其实动态的ActionForm我感觉远没有想像的那么好用,虽然没有private的属性,但是还是要Struts-config中定义变量以及变量的类型,估计这也是它没有大量的被采用的原因。用( Strin...
  • guzen
  • guzen
  • 2007-07-02 17:24
  • 2461

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

struts DynaActionForm 使用心得

本人很懒,相当懒,一个方法能写一遍绝不写两遍。 而普通的ActionForm必须要在自己写好多get 、set方法,很烦,幸好有DynaActionForm解脱了我。 但是今天想使用DynaActionForm传对象的时候碰到问题了,准确点说就是我希望DynaActionForm实现如下...

Struts1.2中的action配置(使用DynaActionForm)

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

Struts Gossip: 使用 DynaActionForm

一個網站中會有許多的表單以供使用者填寫資料,越大型的網站越需要更多的 ActionForm 物件來應付表單的取值,對於一些表單來說,ActionForm只是單純的設值、取值行為,如果為每一個表單撰寫一個ActionForm,那麼會是一件單純重複且無趣的行為,而且在維護上會更加困難。 對於一些單...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)