准备工作:
Eclipse3.2 MyEclipse5.0 Tomcat5.5.x 下载 WebWork 完整包
http://www.opensymphony.com/webwork/
新建工程 名称为 test ,使用 j2ee 1.4
解压包中的 webwork-2.2.2.jar 文件到项目的 lib 目录
解压包中的 lib\default\*.jar 文件到项目的 lib 目录,注:如果使用的是2.1.x的包需要解压的路径为 lib\core\*.jar
配置 web.xml 文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
<display-name>
test</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>webwork</servlet-name>
<servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>webwork</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
</web-app>
WebWork 的Action是以 *.action 方式进行处理的,而 Struts 是以 *.do 方式处理
此示例需要使用到以下结构
模型: User.java
控制: LoginAction.java
视图: index.jsp 、 ok.jsp 、 error.jsp
配置: xwork.xml
新建 User.java 文件,内容如下:
package com.test.model.bo;
public class User {
private String userName;
private String userPwd;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
}
新建一个 class 文件名为: LoginAction ,并实现 com.opensymphony.xwork.Action 接口,此类和 Struts 的 Action 相当相似,不过是以接口的方式实现,而 Struts 的是 Action 是以继承的方式实现,它们都有一个 execute() 方法
代码如下:
package com.test.web.action;
import com.opensymphony.xwork.Action;
import com.test.model.bo.User;
public class LoginAction implements Action {
// 此属性一定要进行初始化操作
private User user = new User();
public String execute() throws Exception {
// 可以在这里调用Service层来进行验证,这里只验证用户名
if (user.getUserName().equals("oksonic"))
return this.SUCCESS;
else
return this.ERROR;
}
public User getUser() {
return user;
}
}
绿色字体为新增的一个属性,并创建它的 get 方法
在 src 目录下新建一个 xwork.xml 文件,此文件相当于 Struts 的配置文件,文件内容如下:
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default">
<action name="login" class="com.test.web.action.LoginAction">
<!-- 这里的意思是登录成功后跳转到 /ok.jsp 页面 -->
<result name="success" type="dispatcher">
<param name="location">/ok.jsp</param>
</result>
<!-- 登录失败后跳转到 / error .jsp 页面 -->
<result name="error" type="dispatcher">
<param name="location">/error.jsp</param>
</result>
<!-- 此段代码为作用是将 request 请求的参数传递到 action 中 -->
<interceptor-ref name="params" />
</action>
</package>
</xwork>
新建三个 jsp 文件
index.jsp 内容如下:
<html>
<head>
<title> INDEX </title>
</head>
<body>
<DIV align = "center">
LOGIN
</DIV>
<FORM action = "login.action" method = "post">
<DIV align = "center">
<TABLE border = "1" cellpadding = "0" cellspacing = "0">
<TR>
<TD>
username:
</TD>
<TD>
<INPUT type = "text" size = "10" name = "user.userName">
</TD>
</TR>
<TR>
<TD>
password:
</TD>
<TD>
<INPUT type = "text" size = "10" name = "user.userPwd">
</TD>
</TR>
<TR>
<TD colspan = "2" align = "center">
<INPUT type = "submit" value = "submit" name = "submit">
<INPUT type = "reset" value = "reset" name = "reset">
</TD>
</TR>
</TABLE>
</DIV>
</FORM>
</body>
</html>
这个页面使用的全是 html 的语法, user.userPwd 为 Action 中 User 对像 的 userPwd 属性
ok.jsp 文件内容如下:
<%@ taglib prefix = "ww" uri = "/webwork" %>
<html >
<head >
<title > OK </title>
</head>
<body>
userName= <ww:property value = "user.userName" />
<br>
userPwd= <ww:property value = "user.userPwd" />
<br>
</body>
</html>
这里使用了WebWork的标签
error.jsp 文件内容如下:
<html >
<head>
<title> ERROR </title>
</head>
<body>
Error !!!
</body>
</html>
已经成功了!!!,对于 webwork 我也是刚学了这么一点,以后再有什么研究成果会再次展示.
分享到:
相关推荐
WebWork入门例子 HelloWorld 包括相应的webwork相应的jar 希望对大家有用!!!
webwork 简单实例,一个简单入门的webwork实例 在myEclipse7.0运行
本书所介绍的Struts 2已经完全超出了Struts 1框架原有的高度,Struts 2建立在Struts 1和WebWork两个框架整合的基础之上,因此提供了更多优秀的机制。 虽然Struts 1目前还未被完全淘汰,但Struts 1所表现出来的缺陷...
本书200mb,分的压缩包较多。...本书既给出Struts 2入门级的示范实例,也详细讲解了Struts 2各个知识点、各个选项的详细用法, 可以作为Struts 2框架的权威参考。 未传完,待。。。。。。。。。。。。。。
Struts 2建立在Struts 1和WebWork两个框架整合的基础之上,因此提供了更多优秀的机制。 虽然Struts 1目前还未被完全淘汰,但Struts 1所表现出来的缺陷已经处处制约着开发者的 手脚。在2007年上半年,Struts 2终于在...
本书200mb,分的压缩包较多。...本书既给出Struts 2入门级的示范实例,也详细讲解了Struts 2各个知识点、各个选项的详细用法, 可以作为Struts 2框架的权威参考。 未传完,待。。。。。。。。。。。。。。
Struts 2建立在Struts 1和WebWork两个框架整合的基础之上,因此提供了更多优秀的机制。 虽然Struts 1目前还未被完全淘汰,但Struts 1所表现出来的缺陷已经处处制约着开发者的 手脚。在2007年上半年,Struts 2终于在...
本书所介绍的Struts 2已经完全超出了Struts 1框架原有的高度,Struts 2建立在Struts 1和WebWork两个框架整合的基础之上,因此提供了更多优秀的机制。 虽然Struts 1目前还未被完全淘汰,但Struts 1所表现出来的缺陷...