论坛首页 Java企业应用论坛

简化struts配置

浏览 6033 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-10-25  
最近rails很火,我也不落俗套的看了一下。觉得其开发方式很直接了当,十分符合人的思维习惯,并且记住了一句话:“约定优于配置”。
于是我对一个现有的小项目进行了重构,来看一下一个struts的action-mapping配置:
    <action path="/*/index" forward="sample.{1}Frame" />

    <action path="/*/get*"
            name="{1}Form"
            scope="request"
            type="com.whcyit.framework.struts.BeanAction"
            validate="false">
      <forward name="success" path="/{2}.jsp" />
    </action>

    <action path="/*/query*"
            name="{1}Form"
            scope="request"
            type="com.whcyit.framework.struts.BeanAction"
            validate="false">
      <forward name="success" path="sample.{1}{2}" />
    </action>

    <action path="/*/insert*"
            name="{1}Form"
            scope="request"
            type="com.whcyit.framework.struts.BeanAction"
            input="fail"
            validate="true">
      <forward name="fail" path="/{1}/query{2}.do" />
      <forward name="success" path="/{1}/query{2}.do" redirect="true" />
    </action>

    <action path="/*/update*"
            name="{1}Form"
            scope="request"
            type="com.whcyit.framework.struts.BeanAction"
            input="fail"
            validate="true">
      <forward name="fail" path="/{1}/query{2}.do" />
      <forward name="success" path="/{1}/query{2}.do" redirect="true" />
    </action>

    <action path="/*/delete*"
            name="{1}Form"
            scope="request"
            type="com.whcyit.framework.struts.BeanAction"
            validate="false">
      <forward name="success" path="/{1}/query{2}.do" />
    </action>
这就是整个工程的action配置了,是不是很简洁(BeanAction见ibatis的JPetStore)。
每个action path分为两节如/*/inser*,第一节相当于rails中的controller,第二节就是controller的方法了。这个是仿rails的匹配方式,当然你也可以定义自己习惯的匹配方式。
   发表时间:2006-12-04  
感觉也差不多啊.
0 请登录后投票
   发表时间:2006-12-05  
感觉一般
0 请登录后投票
   发表时间:2006-12-06  
好像没变的.
0 请登录后投票
   发表时间:2006-12-06  
对这还不清楚,继续学习中!
0 请登录后投票
   发表时间:2006-12-25  
变得更复杂
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics