webwork配置

时间:2024-05-19 19:28:45
1、创建web工程
2、拷贝WebWorkjar文件到web工程的lib目录,必须的jar文件包括Webwork-2.2.4.jarWebWorklib目录下的default目录中的所有jar文件。
3、修改web.xml,添加WebWork过滤器,固定内容如下:
<o:p></o:p>

这样,

.action结尾的所有url请求将直接有ServletDispatcher去调度。下面我们写一个经典的HelloWorld,跑一个简单实例来验证你运行环境是否可用,并感受一下简单、功能强大的WebWork的开发。
以上内容,WebWork包中提供了模板文件,可以直接拷贝过来修改一下即可。
模板文件路径:Webwork-2.2.4\webapps\shopping-cart\src\webapp\WEB-INF\web.xml
 
4、在src目录下创建xwork.xml文件(路径和文件名均是固定写法),内容如下
      
以上内容,WebWork包中提供了模板文件,可以直接拷贝过来修改一下即可。
模板文件路径:Webwork-2.2.4\webapps\shopping-cart\src\webapp\WEB-INF\classes\xwork.xml
其中被包含的webwork-default.xml文件不要随意修改(包括里面内容的顺序),修改后WebWork可能会无法正常工作。
 
package标签使得配置文件也可以分包存放(与代码的包不同)。action标签的name属性就是表单提交时使用的action的名字,class属性代表处理请求的action类。method属性(可选)可以指定执行的方法名,这是一个非常好用的属性,在Struts中每个逻辑处理单元都要单独写一个action类,这样一个工程可能会有很多action类,而每个action只做一个处理,使用method属性可以只写一个action类,根据需要指定不同的方法处理请求即可。
result标签指定action类执行完后转向的显示页面。result标签也可以指定使用模板输出显示内容,FreemarkerVelocity
 
 
5、创建action类,需要手工指定实现com.opensymphony.xwork.Action接口。在Struts中如果有表单,则对应表单需要有formbean,在WebWorkformbean则不是必须的,可以将表单提交的属性作为变量,都写到action类中,但必须为变量添加setget方法,WebWork使用类似Spring的注入功能实现变量的赋值。
 
action类也可以指定使用单独的bean类实现类似formbean的功能,只需在action类中将此bean类的对象实例化好,并设置setget方法即可。
如果不使用formbean则表单提交时表单元素的name属性值要和action类中相应的变量名相同,如果使用formbean则表单元素的name属性值为“bean类名.属性名
 
com.opensymphony.xwork.Action接口中的execute方法并没有requestresponse参数,而是将请求和响应与web容器剥离,单独封装起来,由WebWork核心控制器管理,所以在处理请求时使用的requestsession都要从WebWork上下文中获取。
execute方法返回的是一个字符串而不是像Struts一样封装的ActionMapping对象,返回的字符串根据xwork.xml文件中对应的action标签中的result标签找到指定的显示页面。
com.opensymphony.xwork.Action接口中定义了一些常用的常量用来表示页面的转向,常量的值与常量名相同。例如SUCCESS表示执行成功。WebWork默认的也是转发而不是重定向。
 
最简单的action类的代码如下:
java 代码
  1. import java.util.Map;   
  2.     
  3. import com.opensymphony.xwork.Action;   
  4. import com.opensymphony.xwork.ActionContext;   
  5.     
  6. public class SampleAction implements Action {   
  7.     
  8.        private String param = null;        //声明变量(取代formbean的方式)   
  9.           
  10.        /*变量的get方法*/  
  11.        public String getParam() {   
  12.               return param;   
  13.        }   
  14.     
  15.        /*变量的set方法*/  
  16.        public void setParam(String param) {   
  17.               this.param = param;   
  18.        }   
  19.     
  20.        /*实现Action接口的execute方法,调用Model层实现业务逻辑*/  
  21.        public String execute() throws Exception {   
  22.               Map session = ActionContext.getContext().getSession();   
  23.               session.put("anyParam",getParam());   
  24.               return SUCCESS;        //指定的显示页面在xwork.xml文件中设置   
  25.        }   
  26.     
  27. }   
  28.     
6、至此基本的WebWork应用已经配置好了,创建Model层和View层实现业务逻辑即可。
 
WebWork的工作流程如图:
 
webwork配置
 
WebWok还有一个可选的配置文件,文件名为webwork.properties,同样是放在src目录下。WebWork2.XTomcat5.5以上或Resin3可以正常运行,对中文支持不好,需要手动转换编码,可以添加如下配置信息:
webwork.locale=zh_CN
webwork.i18n.encoding=GBK
webwork中的action类缺省后缀是action,也可以通过配置文件修改
webwork.action.extension=action
webwork.properties文件详细的配置说明可以参考:
 
p.s :记录一下,容易忘记~ :)