`
笨鸟先飞
  • 浏览: 28415 次
  • 来自: ...
社区版块
存档分类
最新评论

struts2 基于convention的开发(1)

阅读更多

      当你使用struts2开发一个user实体的"增删改查"应用时,你或许是这样

来配置action

   <action name="createUser"    
             class="com.mycompany.webapp.user.UserAction" 
             method="create">
     <result name="success">/user/userCreate.jsp</result>
     <result name="input">/user/userEdit.jsp</result>
     <result name="home">/user/home.jsp</result>
  </action>

........

其所对应的url可能是这样:/app/createUser.action,/app/retrieveUser.action,

/app/updateUser.action,/app/deleteUser.action

依次类推,一个实体的"增删改查"需要重复4次这样的工作。一个实体类已有如此多配置信息。多个实体又如何呢?

 

那么我们可以使用struts2的另一个功能:在action标签中的name属性里指定wildcard(通配符)。

struts2提供星号(*)的通配符,以上应用我们可以这样配置:

<action name="*_*" class="com.mycompany.webapp.user.{2}Action" method="{1}">
    <result name="success">/{2}/{1}.jsp</result>
    <result name="input">/{2}/edit.jsp</result>
    <result name="home">/{2}/home.jsp</result>
</action>

其所对应的user实体的url可能是:/app/create_User.action,/app/retrieve_User.action,

/app/update_User.action,/app/delete_User.action

这样的话其它的实体也可以使用这种convention。

请注意在name属性中的分隔符显然是要有的,不然就无法区分两个星号所配置的部分

现在大概来总结一下此应用的convention:

1 action类的命名为:实体名称(大写)+Action

2 action标签中name属性的值为:方法名称+实体名称(大写)

3 实体所对应的jsp文件放在实体名称所对应的目录里面
4 初始jsp页面文件名称定义为"home",

validatation返回页面(也就是input所定义的页面)文件名称定义为edit 
5 在success中定义的jsp文件名称为:方法名称

 

 

分享到:
评论
2 楼 笨鸟先飞 2008-04-05  
可以啊!上面已经配置了<result name="input">/{2}/edit.jsp</result>
1 楼 leisure 2008-03-25  
  如果需要验证呢?一般是create或者update时候需要验证,验证失败后会默认返回到input视图.
  以上定义可以解决这个问题么?

相关推荐

    Struts2权威指南完整版

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part13 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part04 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part01 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part02 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part06 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part03 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part05 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part11 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part12 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part10 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part07 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part09 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    Struts 2.1 权威指南 part08 pdf

    改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级了《Struts 2权威指南》,第二版改写了第一版中所有程序...

    精通Java Web整合开发(第2版)

    12.3 struts 2.x的annotation插件convention-plugin528 12.4 hibernate 3.x的annotation解决之道532 12.4.1 为hibernate应用添加annotation支持532 12.4.2 annotation为hibernate改头换面532 12.4.3 hibernate中的...

    Spring 2.0 开发参考手册

    12.5.1. iBATIS 1.x和2.x的概览与区别 12.5.2. iBATIS SQL Maps 1.x 12.5.3. iBATIS SQL Maps 2.x 12.6. JPA 12.6.1. 在Spring环境中建立JPA 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现...

    Spring API

    13.11. 惯例优先原则(convention over configuration) 13.11.1. 对控制器的支持:ControllerClassNameHandlerMapping 13.11.2. 对模型的支持:ModelMap(ModelAndView) 13.11.3. 对视图的支持:...

    Spring中文帮助文档

    13.11. 惯例优先原则(convention over configuration) 13.11.1. 对控制器的支持:ControllerClassNameHandlerMapping 13.11.2. 对模型的支持:ModelMap(ModelAndView) 13.11.3. 对视图的支持:...

Global site tag (gtag.js) - Google Analytics