最近在做个项目,用的是webwork+spring+hibernate,在网上看了不少webwork+spring的配制方式,大多都是老的配制方式,比如2.1.7的,webwork2.2.4新加了很多功能,和spring的配制也简单了很多,下面就webwork2.2.4+spring的配制方式做个总结。
首先在 webwork.properties中加入
webwork.objectFactory = spring
这样就在WebWork中开启对的Spring支持了
然后在web.xml中加入
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
打开Spring的Listener
最后从Spring中初始化 Action
比如在 xwork中action的定义如下
<action name="login" class="loginAction"> (主要看这里)
<result name="success" type="dispatcher">
<param name="location">/main.jsp</param>
</result>
<result name="error" type="dispatcher">
<param name="location">/login.jsp</param>
</result>
<interceptor-ref name="params" />
<interceptor-ref name="model-driven" />
</action>
上面是 <action name="login" class="loginAction"> 这句中的class里原来应该是loginAction的路径,现在这里写
什么都行,主要是和下面的spring的配制文件中对这个action描述的bean中的id值相同就行,但为了方便,这里就
写成loginAction
下面是spring的配制文件中加入
<bean id="loginAction" class="com.imti.action.LoginAction" singleton="false">
<property name="userSerivice"> (这是loginAction中用到的服务)
<ref local="proxyUserService"/>
</property>
</bean>
<bean id="loginAction" class="com.imti.action.LoginAction" singleton="false">这里的clsss中为action的真实
路径,id的内容就是刚才说的 和<action name="login" class="loginAction">这里的class内容要相同,
还要注意一点就是要把webwork2.2.4包中的lib下的spring目录中的jar文件都考到项目中
我做一个登入程序可在http://download.csdn.net/down/162091下载