kaka的gravatar头像
kaka 2014-05-21 19:03:07

spring3和struts2整合实现零配置的教程

我们目前做的项目使用的就是这种方式,今天比较有空,就写了个demo演示下这个功能。所谓的零配置其实并不是没有配置文件,只是约定大于配置而已,约定做好了,整个项目都会清晰明了很多。详细的约定在struts2-spring-plugin-xxx.jar里面的struts-plugin.xml中有说明。

今天在测试的时候,我struts2-spring-plugin这个jar用的是最新版的,也就是2.3.16.3,按我们项目中的配置完后,请求一直有问题,我没有具体看官方文档,对比了下版本2.1.8.1,struts-plugin.xml中的内容变化挺大,估计配置有变化,这个问题有时间看官过方文档后再更新过来吧。

2.1.8.1版本的struts-plugin.xml如下:

spring3和struts2整合实现零配置的教程2.3.16.3版本的struts-plugin.xml如下:

spring3和struts2整合实现零配置的教程目测新版本的会更加灵活。

这个整合很简单,我只是让spring去管理了action,重点是struts.xml的配置,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<constant name="struts.action.extension" value="action" /><!-- struts处理的请求后缀 -->
    <constant name="struts.enable.SlashesInActionNames" value="true"></constant>
    <package name="zuidaima" extends="struts-default">
		<action name="*_*"   class="{1}Action"  method="{2}" >
		<result name="default">${target}</result>
		<result name="redirect" type="redirect">${target}</result>
		<result name="redirectAction" type="redirectAction">${target}</result>
		</action>
	</package>
</struts>

 

说明下:在这个示例中,action规定的请求格式是action的名称+“_”+请求的方法名称,比如请求的是UserAction的getUser方法,则请求地址为:user_getUser.action

大家如果想了解更多的配置,详细看下struts-plugin.xml中的常量说明。

项目截图:

spring3和struts2整合实现零配置的教程

开发环境:eclipse kepler + jdk7 + win7 64 + maven


最代码官方编辑于2016-8-19 9:32:00


打赏

文件名:zuidaima_struts2_noconfig.rar,文件大小:12.459K 下载
  • /
      • /zuidaima_struts2_noconfig
        • /zuidaima_struts2_noconfig/.classpath
        • /zuidaima_struts2_noconfig/.project
          • /zuidaima_struts2_noconfig/.settings
            • /zuidaima_struts2_noconfig/.settings/.jsdtscope
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.jdt.core.prefs
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.m2e.core.prefs
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.common.component
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.common.project.facet.core.xml
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.jsdt.ui.superType.container
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.jsdt.ui.superType.name
            • /zuidaima_struts2_noconfig/.settings/org.eclipse.wst.validation.prefs
最代码最近下载分享源代码列表最近下载
huazai616  LV1 2018年4月2日
18223454259  LV6 2017年12月21日
AABBCC阿欣  LV4 2017年6月28日
AvenAn  LV1 2016年10月19日
i小妖  LV11 2016年6月7日
lrz8745  LV1 2016年1月19日
su12345su  LV8 2015年12月1日
xiaoqiang  LV1 2014年7月12日
最代码官方  LV168 2014年5月21日
最代码最近浏览分享源代码列表最近浏览
uni-code_0123  LV1 2023年11月30日
l33333333333333  LV1 2020年6月14日
bcr1234  LV9 2020年5月31日
zmqszz  LV2 2020年5月27日
123hdhdhd  LV10 2019年12月1日
只要有你  LV8 2019年10月3日
Sotouch  LV13 2019年7月19日
qqlove  LV3 2019年6月19日
zxcvbnmasfghjkl  LV8 2019年5月28日
13546224603  LV1 2019年4月24日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友