2、建立Web應(yīng)用程序
(1)這里假設(shè)你安裝了Servlet容器,并知道如何創(chuàng)建一個(gè)Web應(yīng)用程序;如果你不知道,建議學(xué)習(xí)Apache Tomcat(Apache Jakarta項(xiàng)目中的一個(gè)免費(fèi)Servlet容器);
(2)復(fù)制需要的運(yùn)行庫(kù)(webwork-2.1.jar和lib/core/*.jar)到Web應(yīng)用程序的WEB-INF/lib文件夾中;
(3)如下配置web.xml、xwork.xml和validators.xml文件;
(4)web.xml看起來(lái)象下面的樣子:
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My WebWork Application</display-name>
<servlet>
<servlet-name>webwork</servlet-name>
<servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webwork</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>webwork</taglib-uri>
<taglib-location>/WEB-INF/lib/webwork-2.1.jar</taglib-location>
</taglib>
</web-app>
為了使用WebWork,必須注冊(cè)ServletDispatcher,并映射到*.action;作為可選,如果要使用WebWork的tags,要聲明WebWork的taglib描述;
(5)在WEB-INF/classes目錄下創(chuàng)建WebWork的配置文件xwork.xml,下面是一個(gè)配置框架(會(huì)在教程的后面增加內(nèi)容):
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<!-- Include webwork defaults (from WebWork-2.1 JAR). -->
<include file="webwork-default.xml" />
<!-- Configuration for the default package. -->
<package name="default" extends="webwork-default">
</package>
</xwork>
這做兩件事:
l 導(dǎo)入webwork-default.xml(位于webwork-2.1.jar中)的配置信息,包含WebWork應(yīng)用程序的缺省配置;
l 定義名為default的package,用于actions、 results和interceptors的注冊(cè);這個(gè)package繼承webwork-default,以繼承其中定義的配置;
(6)在WEB-INF/classes目錄下創(chuàng)建validators.xml。包括以下內(nèi)容:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator
1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
<validators>
<validator name="required"
class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/>
<validator name="requiredstring"
class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>
<validator name="int"
class="com.opensymphony.xwork.validator.validators.IntRangeFieldValidator"/>
<validator name="date"
class="com.opensymphony.xwork.validator.validators.DateRangeFieldValidator"/>
<validator name="expression"
class="com.opensymphony.xwork.validator.validators.ExpressionValidator"/>
<validator name="fieldexpression"
class="com.opensymphony.xwork.validator.validators.FieldExpressionValidator"/>
<validator name="email"
class="com.opensymphony.xwork.validator.validators.EmailValidator"/>
<validator name="url"
class="com.opensymphony.xwork.validator.validators.URLValidator"/>
<validator name="visitor"
class="com.opensymphony.xwork.validator.validators.VisitorFieldValidator"/>
<validator name="conversion"
class="com.opensymphony.xwork.validator.validators.ConversionErrorFieldValidator"/>
</validators>
這個(gè)文件定義可以使用的有效Validators。