创建Web应用和Struts框架的配置文件

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

创建Web应用的配置文件

对于Struts应用,它的配置文件web.xml应该对ActionServlet类进行配置,此外,还应该声明Web应用所使用的Struts标签库,本例中声明使用了三个标签库: Struts Bean、Struts HTML和Struts Logic标签库。例程2-7为web.xml的源代码。

例程2-7

web.xml

<?xml version="1.0" encoding="UTF-8"?

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"

<web-app

<display-nameHelloApp Struts Application</display-name

<!-- Standard Action Servlet Configuration

--

<servlet

<servlet-nameaction</servlet-name

<servlet-classorg.apache.struts.action.ActionServlet</servlet-class

<init-param

<param-nameconfig</param-name

<param-value/WEB-INF/struts-config.xml</param-value

</init-param

<load-on-startup2</load-on-startup

</servlet

<!-- Standard Action Servlet Mapping --

<servlet-mapping

<servlet-nameaction</servlet-name

<url-pattern*.do</url-pattern

</servlet-mapping

<!-- The Usual Welcome File List --

<welcome-file-list

<welcome-filehello.jsp</welcome-file

</welcome-file-list

<!-- Struts Tag Library Descriptors --

<taglib

<taglib-uri/WEB-INF/struts-bean.tld</taglib-uri

<taglib-location/WEB-INF/struts-bean.tld</taglib-location

</taglib

<taglib

<taglib-uri/WEB-INF/struts-html.tld</taglib-uri

<taglib-location/WEB-INF/struts-html.tld</taglib-location

</taglib

<taglib

<taglib-uri/WEB-INF/struts-logic.tld</taglib-uri

<taglib-location/WEB-INF/struts-logic.tld</taglib-location

</taglib

</web-app

创建Struts框架的配置文件

正如前面提及的,Struts框架允许把应用划分成多个组件,提高开发速度。而Struts框架的配置文件struts-config.xml可以把这些组件组装起来,决定如何使用它们。例程2-8是helloapp应用的struts-config.xml文件的源代码。

例程2-8

struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1" ?

<!DOCTYPE struts-config PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"

"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"

<!--

This is the Struts configuration file for the "Hello!" sample application

--

<struts-config

<!-- ======== Form Bean Definitions =================================== --

<form-beans

<form-bean name="HelloForm" type="hello.HelloForm"/

</form-beans

<!-- ========== Action Mapping Definitions ============================== --

<action-mappings

<!-- Say Hello! --

<action

path

= "/HelloWorld"

type

= "hello.HelloAction"

name

= "HelloForm"

scope

= "request"

validate

= "true"

input

= "/hello.jsp"

<forward name="SayHello" path="/hello.jsp" /

</action

</action-mappings

<!-- ========== Message Resources Definitions =========================== --

<message-resources parameter="hello.application"/

</struts-config

以上代码对helloapp应用的HelloForm、HelloAction和消息资源文件进行了配置,首先通过<form-bean元素配置了一个ActionForm Bean,名叫HelloForm,它对应的类为hello.HelloForm:

<form-bean name="HelloForm" type="hello.HelloForm"/

接着通过元素配置了一个Action组件:

<action

path

= "/HelloWorld"

type

= "hello.HelloAction"

name

= "HelloForm"

scope

= "request"

validate

= "true"

input

= "/hello.jsp"

<forward name="SayHello" path="/hello.jsp" /

</action

<action元素的path属性指定请求访问Action的路径,type属性指定Action的完整类名,name属性指定需要传递给Action的ActionForm Bean,scope属性指定ActionForm Bean的存放范围,validate属性指定是否执行表单验证,input属性指定当表单验证失败时的转发路径。<action元素还包含一个<forward子元素,它定义了一个请求转发路径。

本例中的 <action元素配置了HelloAction组件,对应的类为hello.HelloAction,请求访问路径为"HelloWorld",当Action类被调用时,Struts框架应该把已经包含表单数据的HelloForm Bean传给它。HelloForm Bean存放在request范围内,并且在调用Action类之前,应该进行表单验证。如果表单验证失败,请求将被转发到接收用户输入的网页hello.jsp,让用户纠正错误。

struts-config.xml文件最后通过元素定义了一个Resource Bundle: <message-resources parameter="hello.application"/

<message-resources元素的parameter属性指定Resource Bundle使用的消息资源文件。本例中parameter属性为"hello.application",表明消息资源文件名为"application.properties",它的存放路径为WEB-INF/classes/hello/application.properties。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
>>返回首页<<
推荐阅读
 
 
频道精选
© 2005- 王朝网络 版权所有