最近下载了struts2.0.6,可真大,解压后大约150M,仔细看了一下,跑了其自带几个demo,并看了一下代码,可以说基本和webwork2一样的,核心基本没改,感觉就修改了包名,说是struts和webwork合并,个人觉得是webwork利用struts这个招牌寻找市场,struts利用webwork2获得重生,因为在struts2基本看不到struts1的影子了。可惜,目前没有关于struts2的书籍,感觉自带的文档排版比较乱(就和webwork2的一样),很难寻找想要的信息,不过可以看webwork in action, 其实只要看了webwork in action的前五章,就可以理解struts2的架构了。
struts2对webwork的改进之处:
1.webwork.properties文件中变量现在可以配置在下列文件(这是struts2自带文档中的说的):
struts-default.xml
struts-plugin.xml(在每个plugin的jar包中)
struts.xml(用constant元素)
struts.properties(没有默认文件,可选,与webwork.properties文件相似,每个项目可以有这个文件)
web.xml
下面是struts2自带文档中的示例
Constant Example (struts.xml)
<struts>
<constant name="struts.devMode" value="true" />
...
</struts>Constant Example (struts.properties)
struts.devMode = trueConstant Example (web.xml)
<web-app id="WebApp_9" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>struts.devMode</param-name>
<param-value>true</param-value>
</init-param>
</filter>
...
</web-app>
2.加入了通配符的支持,这是在ww2中没有的,如下:
<action name="*" >
<result>/tutorial/{1}.jsp</result>
</action>