疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Struts2对WebWork的改进


 

最近下载了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="*" >
   
    /tutorial/{1}.jsp
   
    action>