[WebWork]学习笔记之(二)
1.WebWork方式的HelloWorld
下载WebWork,将必须的JAR包放入lib修改Web.xml配置添加以下有关Servlet的配置:
< servlet - name > webwork </ servlet - name >
< servlet - class > com.opensymphony.webwork.dispatcher.ServletDispatcher </ servlet - class >
</ servlet >
第二步将这个Servlet映射至某个URL模式,webwork的默认为*.action
< servlet-name > webwork </ servlet-name >
< url-pattern > *.action </ url-pattern >
</ servlet-mapping >
最后还要再指定webwork标签库的位置,代码如下:
< taglib-uri > webwork </ taglib-uri >
< taglib-location > /WEB-INF/lib/webwork-2.2.6.jar </ taglib-location >
</ taglib >
接下来配置xwork.xml:
< xwork >
< include file ="webwork-default.xml" />
< package name ="default" extends ="webwork-default" >
< default-interceptor-ref name ="completeStack" />
</ package >
</ xwork >
下面在xwork.xml同一目录新建一个webwork.properties文件内容如下:
webwork.tag.altSyntax=true
到此,已经做完了第一个应用程序的配置准备工作,下面是创建应用程序,创建这个例子,需要做一下三个步骤
(1)创建一个action类:HelloWorld。
(2)创建一个result:hello.jsp
(3)配置action与result
1.1创建第一个action
创建action类:HelloWorld.java代码如下:
import com.opensymphony.xwork.Action;
public class HelloWorld implements Action {
priavate String message;
public String execute() throws Exception {
message = " Hello, World! " ;
message += " The time is : " ;
message += System.currentTimeMillis();
return SUCCESS;
}
public String getMessage() {
return message;
}
}
HelloWorld类实现了com.opensymphony.xwork.Action这个接口,所有WebWork的action都必须实现定义了execute()方法的Action接口。execute()方法最后返回SUCCESS(这是WebWork已经定义了的一个字符串常量,值为"success")所有的execute()方法必须返回一个result code。
1.2 在浏览器上显示输出结果
在WebWork中有 很多不同的方式将一个action的输出显示给用户,最简单和常用的方式是在浏览器中显示HTML页面,也可以显示PDF文档或其他类型。下面创建hello.jsp:
< html >
< head >
< title > Hello Page </ titl >
</ head >
< body >
The message generated by my first action is:
< ww:proprety value = " message " />
</ body >
</ html >
代码中第一行标签库前缀ww和URI webwork之间建立了映射关系。ww前缀指明了所有WebWork标签在使用时以"ww"开头。在整个页面中只使用了一个自定义的property标签的,这个标签包含了一个value属性值,通过设置value的值,标签可以从action中获得相应表达式的内容。因为action中创建了一个getMessage()的方法,value的值为message标签得到getMessage()方法调用后返回的值。
1.3配置新的action
现在已经创建了action类和视图,最后一步就是把这两者联系起来,可以通过action配置一个特别的URL,以及将SUCCESS这个result code 映射到刚才创建的JSP。配置一个action的时候,必须清楚一下三个方面:
(1)action类的全名,包括完成的包(package)名。
(2)你打算将action存放于应用程序的什么位置,也就是说你想用什么URL。
(3)action可能返回的所有result code。
下面来修改web.xml配置action:
< xwork >
< include file ="webwork-default.xml" />
< package name ="default" extends ="webwork-default" >
< default-interceptor-ref name ="completeStack" />
< action name ="helloWorld" class ="idev.example.HelloWorld" >
< result name ="success" > hello.jsp </ result >
</ action >
</ package >
</ xwork >