最近有用到webwork2,自己试着做了一个demo,把过程分享给大家
第一步:寻找到jar包
首先要去webwork官网上下载webwork的jar包,要是不想下载,可以使用maven建一个项目,从google中搜索webwork maven 在“http://mvnrepository.com/artifact/opensymphony/webwork/”查到配置最新如下(最新版本):
<dependency>
<groupId>opensymphony</groupId>
<artifactId>webwork</artifactId>
<version>2.2.5</version>
</dependency>
把这段代码放到pom.xml文件中保存,这时项目会自动下载这些jar包,下载完成之后可以使用了,不过使用maven管理的java项目要想转化成web项目,中间有一些过程,如果你不想去费事,可以再建一个项目,找到maven下载的几个jar包如数增加到lib目录下也是可以的。
包如下:
这样我们的第一步就完成了,接着是配置web.xml文件和xwork.xml文件了
第二步配置web.xml
添加webwork的filter
如下:<filter>
<filter-name>webwork</filter-name>
<filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
</filter>
接着配置filter映射:
如下:
<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
第三步:在src目录下新建文件xwork.xml文件,可以找到webwork-2.2.5.jar里面的文件webwork-default.xml,对照参考
拷贝这些:
<!DOCTYPE xwork PUBLIC "-//OpenSymphonyGroup//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
</xwork>
然后在<xwork></xwork>两个标签中间添加上
<include file="webwork-default.xml"/>
<package name="default" extends="webwork-default">
</package>
其中在package中可以添加的是用户自己写的action类的。跟struts2非常类似
这时候可以启动项目跑起来看一看会不会报错,如果没有报错可以顺利进行下面的任务了。这里我们可以新建一个小的例子测试一下:
做一个非常简单例子如下:
1. 先新建一个放action的 package
新建类Welcome 并且implements Action
private String username;
private String welcomeMessage;
public String getWelcomeMessage() {
return welcomeMessage;
}
public void setUsername(Stringusername) {
this.username = username;
}
@Override
public String execute() throws Exception {
welcomeMessage=username+",Welcome!";
return SUCCESS;
}
2. 配置xwork.xml文件
<action name="welcome" class="com.rthl.action.Welcome">
<result name="success">/welcome.jsp</result>
</action>
3. 完成页面如下:
新建index.jsp和welcome.jsp两个页面
在index.jsp页面中加入form表单
<form name="register" action="welcome.action"method="post">
name:<input name="username">Please input your name.
</form>
4. Welcome.jsp页面测试是否成功;此时要使用到webwork的标签库所以在这个页面中添加<%@ taglib prefix="ww"uri="/webwork" %>
Welcome.jsp页面中显示出index.jsp页面传过来的username的值
<ww:property value="%{welcomeMessage}"/>
5. 项目重新部署一遍,跑起来看一看,效果如下:
按enter键后执行welcome.action,效果如下: