• 帮助
    • 博客
    • 相册
    • 网盘
    • 超市
    • Xer吧
  • 登录
  • 注册
【公告】关于网站取消无线业务的通告    【公告】个人空间首页新增“我的专辑”版块    【公告】X5dj广告过滤系统上线    【公告】关于调整网盘空间图片大小计算方法的通告    【公告】新功能“我的专辑”上线,珍藏属于你的美好回忆    【公告】X5dj网站网络硬盘用户使用协议    【公告】新增用户操作记录展示功能,帮助您更好的与朋友们互动    【公告】X5dj新功能汇总贴:新增“密码目录”功能上线    【公告】X5dj.com相册/网盘上传工具发布    
  • ironlong的心情驿站
  • http://www.x5dj.com/ironlong 复制地址
  • 首页

  • 博客

  • 相册

  • 网盘

  • 人际关系网

  • 我的专辑

loading...
jsp常用标签 JSTL < 上一篇 下一篇 > 20次操作+100点赢利=3000万美金
struts-config.xml文件详解
ironlong 发表于: 2008-08-13 12:38 来源:转载  X度:0  浏览:(234)  评论:(0)
收藏 | 复制地址 | [举报此文章] |  大 中 小 |  引用 删除 修改
struts-config.xml文件详解
2008-08-04 17:20
struts-config.xml是Struts的主要配置文件,在该文件中,可以配置数据源、form-bean、action和plug-in(插件)和资源文件的信息。其文件主要结构如下所示:

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

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<data-sources>

<data-source>

</data-source>

</data-sources>

<form-beans>

<form-bean / >

</form-beans>

<global-forwards>

<forward / >

</global-forwards>

<action-mappings>

<action / >

</action-mappings>

<controller / >

<message-resources / >

<plug-in />
</struts-config>

       以上各元素必须是按照这个顺序的,若开发人员打乱顺序,很可能引起Struts容器启动时出错。

       当然struts-config.xml还有<display-name />、<de******ion />和<icon />子元素,因为它们用得很少,在此不再赘述。只是讲述常用的子元素的配置。

1. data-sources

本节讲述子元素data-sources的配置,该元素可以配置一个或多个data-source元素,即数据源元素,可以通过<set-property>设置driverClass、url、user、password等属性。配置实例如下:

<data-source>

                            <!-- 所用的JDBC驱动类,必须-->

                            <set-property property="driverClass" value="com.mysql.jdbc.Driver"/>

                            <!-- 所用的JDBC的URL,必须-->

                            <set-property property="url" value="jdbc:mysql://localhost/test"/>

                            <!-- 同时打开的最小连结数,缺省值为1,可选-->

                            <set-property property="minCount" value="1"/>

                            <!-- 同时打开的最大连结数,缺省值为2,可选-->

                            <set-property property="maxCount" value="5"/>

                            <!-- 连结到数据库的用户名,必须-->

                            <set-property property="user" value="root"/>

                            <!-- 连结到数据库的密码,必须-->

                            <set-property property="password" value="root"/>

                   </data-source>

开发人员还可以设置Key(绑定在ServletContext上的DataSource实例的索引键,若不设定则缺省为Action.DATA_SOURCE_KEY,如果在应用程序中有多于一个的DataSource,则必须设置Key的值)、De******ion(关于DataSource的描述信息)、ReadOnly(如果设为true,则表示该连结是只读的,缺省为false)、LoginTimeout(创建连结的最大允许时间,以秒为单位)和AutoCommit(如果为true,则每次execute之后会强制回滚。缺省为true)属性。

在实际项目中,例如在Hibernate + Struts构建的系统中,一般使用Hibernate的hibernate.cfg.xml文件来配置数据源的信息。而在Hibernate + Struts + Spring构建的系统中,一般使用spring的配置文件(eg. applicationContext.xml)来配置数据源的信息。

2. form-beans

子元素form-beans用来配置绑定到Action的各个FormBean的实例。每个FormBean实例用form-bans的子元素form-bean来定义。form-bean又分普通的FormBan和动态FormBean。

(1)普通form-bean

普通FormBean需要定义一个JavaBean类,在form-bean元素中指定该类。普通form-bean元素的定义格式如下:

<form-bean name="FormBean的名称" type="FormBean对应JavaBean类的全路径"/>

Eg. <form-bean name="UserForm"

              type="com.amigo.struts.form.user.UserForm" />

对应的FormBean类一般是继承ActionForm类,例如下面的例子定义了一个UserForm,它具有userName和password两个属性。该类的代码如下:

package com.amigo.struts.form.user;

import org.apache.struts.action.ActionForm;

public class UserForm extends ActionForm {

         private static final long serialVersionUID = 1L;

        

         /** 用户名.*/

         private String userName;

        

         /** 密码. */

         private String password;

         public String getPassword() {

                   return password;

         }

         public void setPassword(String password) {

                   this.password = password;

         }

         public String getUserName() {

                   return userName;

         }

         public void setUserName(String userName) {

                   this.userName = userName;

         }

}

(2)动态form-bean

       动态form-bean不需要定义对应的javabean类,其元素都在struts-config.xml中定义。其type为:org.apache.struts.validator.DynaValidatorForm。下面的动态FormBean定义了userName和password属性,配置如下:

<form-bean name="UserForm" type="org.apache.struts.validator.DynaValidatorForm">

             <form-property name="userName" type="java.lang.String"/>

             <form-property name="password" type="java.lang.String"/>

</form-bean>

3 global-forwards

       global-forwards用于配置全局转发,struts首先会在<action-mappings>元素中找对应的<forward>,若找不到,则到全局转发配置中找。它包含0个或多个<forward/>元素,格式如下所示:

<forward name="唯一的名称" path="指向资源的相对路径"/>

Eg.

<global-forwards>

                   <forward name="failed" path="/error.jsp" />

                   <forward name="success" path="/ success.jsp" />

</global-forwards>

<forward/>元素还有一个redirect属性,其默认值为false,如果redirect设为true的时候,则用HttpServletResponse.sendRedirect()方法,否则用RequestDispatcher.forward()方法,缺省为false。

4 action-mappings

       该元素用于将Action元素定义到ActionServlet类中,它含有0到多个<action/>元素,其格式如下:

<action-mappings>

<action path="Action请求的相对路径"

type="该Action的对应类的全路径"

name="该Action绑定的FormBean"

<forward name="指定处理相应请求所对应的地址" path="相对路径"/>

</action>

</action-mappings>

       每个action子元素可包含一个或多个forward子元素。除了path、type和name属性外,action还具有如下属性:

l         scope:指定ActionForm Bean的作用域(session和request),缺省为session。(可选);

l         input:当Bean发生错误时返回的路径(可选);

l         classname:指定一个调用这个Action类的ActionMapping类的全名。缺省用org.apache.struts.action.ActionMapping(可选);

l         include:如果没有forward的时候,它起forward的作用(可选);

l         validate:若为true,则会调用ActionForm的validate()方法,否则不调用,缺省为true(可选)。

forward属性也是可选的。

action元素定义举例如下:

Eg1.

<action-mappings>

<action

path="/userAction"

type="com.amigo.struts.action.UserAction"

name="UserForm"

scope="request"

validate = "false"

parameter="method" >

             <forward name="error" path="/user/error.jsp" />

         <forward name="success" path="/user/success.jsp"/>

                   <forward name="add" path="/user/addUser.jsp"/>

                   <forward name="update" path="/user/updateUser.jsp"/>

                   <forward name="list" path="/user/userList.jsp"/>

</action>

</action-mappings>

Eg2. 有input属性的例子:

<action-mappings>

<action path="/calcAction"

type="com.amigo.struts.action.CalcAction"

name="CalcForm"

scope="request"

validate="true"

input="/index.jsp">

<forward name="success" path="/success.jsp"/>
<forward name="error" path="/error.
jsp"/>

</action>

</action-mappings>

Eg3. 仅有JSP的action元素:

<action path="/menu"

parameter="/default.jsp"

type="org.apache.struts.actions.ForwardAction" />

首先,ActionServlet接到请求后调用ForwardAction的execute()方法,execute()根据配置的parameter属性值来forward到那个URI。

这样做的效果是:没有任何form被实例化,比较现实的情形可能是form在request更高级别的范围中定义;或者这个action被用作在应用程序编译好后充当系统参数,只需要更改这个配置文件而不需要重新编译系统。

 

5. message-resources
该元素用来定义资源文件,格式如下:

<message-resources parameter="给定资源文件的全名"

classname="定义处理消息资源的类名的全名"

factory="定义MessageResourcesFactory类的全名"

key="定义绑定在这个资源包中的ServletContext的属性主键"

null=" 如果为true,则找不到消息key时,则返回null "/>

message-resources的各属性中,只有parameter是必选的,其余都为可选,classname属性默认为:org.apache.struts.config.MessageResourcesConfig,factory属性默认为:org.apache.struts.util.property.MessageResourcesFacotry,key属性默认为:Action.MESSAGES_KEY,null属性默认为:true。

举例如下,在struts配置文件中添加如下信息:

Eg1. <message-resources parameter="ApplicationResources" />

Eg2. <message-resources

parameter="com.amigo.struts. ApplicationResources "

null="false"/>

 

2
<******> writecmt(1,"e1f16bd135d3d93f9a50277f","choben","http://hi.baidu.com/choben","027163686f62656ed302");
choben
2008-08-04 17:21
6. plug-in
该元素用于定义插件,可定义0到多个插件元素,最常见的plug-in为Struts的验证的插件,配置举例如下:

Eg1. Struts的验证的plug-in:

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">

<set-property property="pathnames"

value="/WEB-INF/validator-rules.xml, /WEB-INF/manager/validation.xml" />

<set-property property="stopOnFirstError" value="false" />

</plug-in>

Eg2. Spring提供的载入插件配置:

<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">

<set-property property="contextConfigLocation"

value="/WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml"/>

</plug-in>


 

4
<******> writecmt(1,"47c50a2cd122c9eb8b139978","choben","http://hi.baidu.com/choben","027163686f62656ed302");
choben
2008-08-04 17:21
<global-exceptions />

<global-forwards />

<action-mappings>

 

5
<******> writecmt(1,"b62d06b5261775c937d3ca78","choben","http://hi.baidu.com/choben","027163686f62656ed302");
choben
2008-08-04 17:22
<action

path="/userAction"

type="com.amigo.struts.action.UserAction"

name="UserForm"

scope="request"

validate = "false"

parameter="method" >

<forward name="error" path="/user/error.jsp" />

<forward name="success" path="/user/success.jsp"/>

<forward name="add" path="/user/addUser.jsp"/>

<forward name="update" path="/user/updateUser.jsp"/>

<forward name="list" path="/user/userList.jsp"/>

</action>

</action-mappings>

<message-resources parameter="com.amigo.struts. ApplicationResources " />

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">

<set-property property="pathnames"

value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>

<set-property property="stopOnFirstError" value="false" />

</plug-in>

</struts-config>

 
系统分类:软件·电脑
标签:软件   电脑   
推送: 无分类 归类:综合

热爱篮球...热爱摇滚...
 
jsp常用标签 JSTL < 上一篇 下一篇 > 20次操作+100点赢利=3000万美金
用户回复
首页 上一页 1 下一页 尾页 共 1 页
评分与快速回复

博主推荐
  • · 30极品美女!作为礼物送给大家!
相关文章
  • ·酷软推荐:任务栏输入法或小喇叭seesaw显示图标修复工具
  • ·酷软推荐:任务栏输入法或小喇叭seesaw显示图标修复工具
  • ·酷软推荐:文件夹万能解锁器
  • ·酷软推荐:文件夹万能解锁器
  • ·酷软推荐:硬盘低级格式化工具:Hard Disk Low level format tool ┆V2.36
  • ·酷软推荐:硬盘低级格式化工具:Hard Disk Low level format tool ┆V2.36
  • ·酷软推荐:龙帝国专用安全模式进入器 绿色版
  • ·酷软推荐:龙帝国专用安全模式进入器 绿色版
  • ·酷软推荐:图标神探【从任意有图标信文件中提取图标】 V1.0 简体中文绿色免费版
  • ·酷软推荐:图标神探【从任意有图标信文件中提取图标】 V1.0 简体中文绿色免费版
  • ·酷软推荐:硬盘坏道屏蔽修复工具:HDD Regenerator ┆V1.51 绿色免费版
  • ·酷软推荐:硬盘坏道屏蔽修复工具:HDD Regenerator ┆V1.51 绿色免费版
  • ·CorelDRAW Graphics Suite X4简体中文特别版
  • ·CorelDRAW Graphics Suite X4简体中文特别版
  • ·▄︻┻┳六大伤硬盘软件及应对方案
  • ·▄︻┻┳六大伤硬盘软件及应对方案
  • ·▄︻┻┳CPU占用率100%原因及解决方法
  • ·▄︻┻┳CPU占用率100%原因及解决方法
博友热推
  • 今年冬天使人寒冷的恐怕不止天气
  • 有人每天送自己上班是多么惬意啊
  • 追车的感觉,还是非常有成就感的
  • 生活在我视野下呈现出与人的不同
  • 旧情人,让我们像亲人样彼此牵挂
  • 经济危机下找工作真是欲哭无泪啊
  • 不知怎么的,总是会有怀旧的感觉
  • 世上没有男人值得用尽我们的全心
  • 一直觉得埃及艳后这个女人很神秘
  • 茫茫人海中只想找个能对上眼的人
关于我们 | X5dj动态 | 加入我们 | 友情链接 | 官方日志 | 免责声明 | 举报不良信息
北京开创明天科技有限公司 版权所有 京ICP证040979号