rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » JavaEE

webwork 简单实例

第一步:
先去 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 页面
顶一下
(0)
踩一下
(0)