This page last changed on May 23, 2004 by ctran.

web.xml文件简单明了, 易于配置.

配置ServletDispatcher

应用中最常用的活动调用入口点是直接访问一个URL或使用表单向活动提交数据. 下例展示了如何配置ServletDispatcher来处理活动.
<!-- This entry is required to have the framework process calls to WebWork actions -->
<servlet>
  <servlet-name>webworkDispatcher</servlet-name>
  <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
  <load-on-startup>1</load-on-startup> 
</servlet>
<servlet-mapping>
  <servlet-name>webworkDispatcher</servlet-name>
  <url-pattern>*.action</url-pattern>
</servlet-mapping>

注意: 上面的例子假定活动使用".action"扩展名. 如果你向使用不同的扩展名, 将url-pattern元素改为你需要的扩展名并使用该扩展名修改调用代码.

配置CoolUriServletDispatcher(可选)

一个定制的servlet分发器, 可以把servlet路径映射为活动. 可以用来代替上面的ServletDispatcher. 格式如下:

http://HOST/ACTION_NAME/PARAM_NAME1/PARAM_VALUE1/PARAM_NAME2/PARAM_VALUE2

你可以使用任意多的参数. URL也可以像下文那样简写:
http://HOST/ACTION_NAME/PARAM_VALUE1/PARAM_NAME2/PARAM_VALUE2

这样写也是相同的:
http://HOST/ACTION_NAME/ACTION_NAME/PARAM_VALUE1/PARAM_NAME2/PARAM_VALUE2

假定根据ID显示文章内容的URL使用下面的模式:
http://HOST/article/ID

我们需要做的就是将/article/*映射到该servlet并声明一个名为article的WebWork活动. 该活动会设置参数ID:
<servlet>
  <servlet-name>coolDispatcher</servlet-name>
  <servlet-class>com.opensymphony.webwork.dispatcher.CoolUriServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>coolDispatcher</servlet-name>
  <url-pattern>/article/*</url-pattern>
</servlet-mapping>

配置支持Velocity(可选)

WebWork使用Velocity作为定制JSP标签库的底层模版系统. 除非你需要直接(或使用"dispatcher"中的结果类型)调用velocity模版, 否则不需要配置WebWorkVelocityServlet. 配置它需要加入下列内容:

<servlet>
  <servlet-name>velocity</servlet-name> 
  <servlet-class>com.opensymphony.webwork.views.velocity.WebWorkVelocityServlet</servlet-class> 
  <load-on-startup>10</load-on-startup> 
</servlet>
<servlet-mapping>
  <servlet-name>velocity</servlet-name> 
  <url-pattern>*.vm</url-pattern> 
</servlet-mapping>

配置标签库(可选)

标签库是框架的可选部分, 在使用表单和活动时可以提供一些好处. 参见JSP标签了解更多信息. 使用时需要指定tld(Tag Library Descriptor)文件的位置:
<taglib>
  <taglib-uri>webwork</taglib-uri> 
  <taglib-location>/WEB-INF/lib/webwork-2.1.jar</taglib-location> 
</taglib>

如果应用服务器不支持jar文件中的标记库描述文件, 你需要解出webwork.tld并复制到/WEB-INF目录中并修改配置为:

<taglib>
  <taglib-uri>webwork</taglib-uri> 
  <taglib-location>/WEB-INF/webwork.tld</taglib-location> 
</taglib>

注意: webwork.tld可以放置在应用的任何目录中.

配置支持Freemarker(可选)

加入下列内容:

<servlet>
  <servlet-name>freemarker</servlet-name>
  <servlet-class>com.opensymphony.webwork.views.freemarker.FreemarkerServlet</servlet-class>
  <load-on-startup>10</load-on-startup>
</servlet>

以及
<servlet-mapping>
  <servlet-name>freemarker</servlet-name>
  <url-pattern>*.ftl</url-pattern>
</servlet-mapping>

配置IoC/生命周期管理LifeCycle(可选)

参见IoC配置
Document generated by Confluence on Dec 14, 2004 16:37