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中使用 DynaActionForm

使用表单是网页里面经常遇到的事情.利用struts的标签可以很好的完成这一功能.在struts中表单分为两种.一种是ActionForm..另外一种是DynaActionForm.所谓动态是在使用表单...

struts1之LocaleAction、DynaActionForm

今天被Struts1.3中的DynaActionForm害惨了!     想用Struts1提供的LocaleAction来实现在页面中点击链接改变Locale信息,实现国际化。通过查看源代码,可以...

自学SSH框架之---struts(五):动态的ActionForm(DynaActionForm)

在一个大的项目里面,actionForm会很多,那么有没有什么方法避免actionForm的膨胀呢?有,那就是DynaActionForm,,它不用写actionForm类了(可以称为标准或者静态ac...

Struts1.2中ActionForm与ValidatorForm、DynaActionForm的区别

(一)ActionForm和ValidatorForm区别:     一个Form继承了ValidatorForm 就不用写具体的验证,但是需要提供: validation-rules.xml ...

从struts2回到struts的学习--DynaActionForm(不用手写actionForm.java)

使用DynaActionForm 2006年12月05日 星期二 下午 01:26 一个网站中会有许多的表单以供使用者填写资料,越大型的网站越需要更多的 ActionForm 物件来应付表单...

从struts2回到struts的学习--DynaActionForm(不用手写actionForm.java)

一个网站中会有许多的表单以供使用者填写资料,越大型的网站越需要更多的 ActionForm 物件来应付表单的取值,对於一些表单来说,ActionForm只是单纯的设值、取值行为,如果为每一个表单撰写一...

struts2&lt;s:if&gt;使用心得

  • 2009-04-10 14:15
  • 634B
  • 下载

struts2.X心得9--struts2自定义拦截器以及文件上传等几个拦截器使用案例

1. 自定义拦截器 要使用自定义拦截器,就要编写自定义拦截器类,该类需要实现com.opensymphony.xwork2.interceptor.Interceptor接口。 因为struts...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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