webWok学习笔记(一)

   Webwork发行包中的文档并不是很全面,如果开发中遇到什么问题,登录Webwork Wiki
站点查看在线文档是个不错的选择:
http://www.opensymphony.com/webwork/wikidocs
   WebWork2 发行包中的\lib\core 目录下包含了WebWork2 用到的核心类库。将
\webwork-2.1.1.jar 以及\lib\core\*.jar 复制到Web 应用的WEB-INF\lib 目录。
   开发webwork最主要的是编写配置文件web.xml和xwork.xml这两个比较重要。
web.xml:

<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>

此后,所有以.action结尾的服务请求将由ServletDispatcher接管。页面提交到ServletDispatcher之后,ServletDispatcher在xwork.xml中查找与之相对应的action,并进行处理。

xwork.xml:

<!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="net.xiaxin.webwork.action.LoginAction">
<result name="success" type="dispatcher"> ⑷
<param name="location">/main.jsp</param>
</result>
<result name="loginfail" type="dispatcher">
<param name="location">/index.jsp</param>
</result>
<interceptor-ref name="params" /> ⑸
<interceptor-ref name="model-driven"/> ⑹
</action>
</package>
</xwork>

⑴ include
通过include 节点,我们可以将其他配置文件导入到默认配置文件xwork.xml 中。
从而实现良好的配置划分。
⑵ package
XWork中,可以通过package对action进行分组。类似Java 中package和class的
关系。为可能出现的同名Action提供了命名空间上的隔离。
同时,package还支持继承关系。在这里的定义中,我们可以看到:
extends="webwork-default"
"webwork-default"是webwork-default.xml文件中定义的package,这里通
过继承,"default" package 自动拥有"webwork-default" package 中的所有
定义关系。
⑶ action
Action配置节点,这里可以设定Action的名称和对应实现类。
⑷ result
通过result 节点,可以定义Action 返回语义,即根据返回值,决定处理模式以及
响应界面。
这里,返回值"success"(Action 调用返回值为String 类型)对应的处理模式为
"dispatcher"。
可选的处理模式还有:
1. dispatcher
本系统页面间转向。类似forward。
2. redirect
浏览器跳转。可转向其他系统页面。
3. chain
将处理结果转交给另外一个Action处理,以实现Action的链式处理。
4. velocity
将指定的velocity模板作为结果呈现界面。
5. xslt
将指定的XSLT 作为结果呈现界面。
(5)  interceptor-ref
设定了施加于此Action的拦截器(interceptor)。

你可能感兴趣的:(学习笔记)