第一步:
先去 webwork 官方下载 开发包.
只需要这几个jar 包就好了.....下面就 开始webwork 之旅
xwork.jar WebWork构建所依赖的XWork类库
common-logging.jar 通用的日志类库,WebWork用它为Log4J或者JDK提供透明的日志记录
oscore.jar OSCore,一个来自OpenSymphony公司的通用功能类库
velocity-dep.jar 依赖Velocity类库
ognl.jar 对象图导航语言(OGNL),WebWork中使用的表达式语言
xwork.xml
WebWork配置文件,为你的Web应用程序定义action、result和interceptor
web.xml J2EE Web应用程序配置文件,为你的Web应用程序定义servlet、JSP标签库等内容第二步:
先创建一个HelloWorld项目:
打开webroot下面的web.xml文件 , 添加一个Filter
<filter>
<filter-name>webwork</filter-name>
<filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
</filter> <filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置webwork标签库 taglib.tld 在webwork的包中就可以找到.拷贝到你自己工程WEB-INF下面
<taglib>
<taglib-uri>webwork</taglib-uri>
<taglib-location>/WEB-INF/taglib.tld</taglib-location>
</taglib>
web.xml就只需配置这些内容第三步:
在src下面新建xwork.xml文件
因为WebWork是基于XWork这个这个子项目的,所以这个文件叫做xwork,不要被它弄迷糊了。我们先来对xwork.xml做一个最基本的配置,以后熟悉了再往里面加入自己的东西就很轻松了。(xwork.xml)
<xwork>
<include file="webwork-default.xml"/>
<package name="default" extends="webwork-default">
<default-interceptor-ref name="completeStack"/>
<action name="helloworld" class="com.test.HelloWorld">
<result name="success">/hello.jsp</result>
</action> <!-- Add your actions here -->
</package>
</xwork>
在src下面在建一个webwork.properties文件 它定义了一些告诉webwork如何工作的信息,暂时不用关注它,在里面加入一行内容:(webwork.properties)
webwork.tag.altSyntax = true
到此,基本的骨架就搭成了,其实并不复杂。
第四步:新建第一个Action吧.
第一部创建action类:HelloWorld.java ,还是先看代码吧:
package com.test;import com.opensymphony.xwork.Action;
/**
*
* @author 编程语言论坛 ---梦海之巅
* @see 欢迎加入编程语言论坛 www.p-mind.cn
*/
public class HelloWorld implements Action { /**
*
*/
private static final long serialVersionUID = 1L; private String message;
// 在action中定义了message的getter方法,以便JSP标签取得message的值显示给客户端。
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
message += "\n我学会了写WebWork的HelloWorld程序了,\\(^o^)/";
//返回SUCCESS代表成功! 会继续执行. 如果返回ERROR求会到错误Page,先不管这些,继续
//这个类我们做到这里就够了, 只用实现Action , override 他的execute方法ok
return SUCCESS;
}}
注意你所编写的action类都必须实现定义了execute()方法的Action接口,而execute()就是在执行这个action的时候被WebWork调用的。 在action中定义了message的getter方法,以便JSP标签取得message的值显示给客户端。 最后execute()方法返回了SUCCESS(其实就是一个值为“success”的字符串常量),并且所有的WebWork的action都必须返回一个result code(一个说明执行结果的字符串)。它告诉WebWork现在的执行结果和下一步应该对应到哪个result,虽然result code不一定必须对应一个result但是通常都是。既然业务已经处理完了,下面就来创建一个JSP页面显示HelloWorld问候语。
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="ww" uri="webwork" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'hello.jsp' starting page</title>
</head> <body>
<ww:property value="message"/>
</body>
</html>
index.jsp 项目的首页.
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="ww" uri="webwork" %><html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head> <body>
<br>This is my JSP page. <br>
<form action="helloworld.action" method="post">
Message:<input name="message" type="text">
<input type="submit" value="Submit">
</form> </body>
</html>
到这里我们整个hellowork 项目就做完了.下面我说一下执行流程.,
首先,我们请求index.jsp ,输入message , 提交到 helloworld.action , 这是有HelloWorld 类来处理, 名填充message 属性. 执行execute 方法,返回SUCCESS常量,说明执行成功,并调用
xwork.xml ,对应action 接点的 <result name="success">/hello.jsp</result> 跳转到hello.jsp 页面