strutsconfig元素.docx
- 文档编号:28514599
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:13
- 大小:19.69KB
strutsconfig元素.docx
《strutsconfig元素.docx》由会员分享,可在线阅读,更多相关《strutsconfig元素.docx(13页珍藏版)》请在冰豆网上搜索。
strutsconfig元素
Struts-config.xml配置文件各个元素的详解
分类:
StrutsWEB开发2008-07-2311:
48 1119人阅读 评论
(2) 收藏 举报
strutspathactionhibernatestringspring
目录(?
)[+]
struts-config.xml是Struts的主要配置文件,在该文件中,可以配置数据源、form-bean、action和plug-in(插件)和资源文件的信息。
其文件(Struts1.2版本)主要结构如下所示:
[XML] viewplaincopy
1.
xml version="1.0" encoding="UTF-8"?
>
2.
3.
DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http:
//struts.apache.org/dtds/struts-config_1_2.dtd">
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
以上各元素必须是按照这个顺序的,若开发人员打乱顺序,很可能引起Struts容器启动时出错。
当然struts-config.xml还有
只是讲述常用的子元素的配置。
1.data-sources
本节讲述子元素data-sources的配置,该元素可以配置一个或多个data-source元素,即数据源元素,可以通过
配置实例如下:
-- 所用的JDBC驱动类,必须-->
-- 所用的JDBC的URL,必须-->
mysql: //localhost/test"/> -- 同时打开的最小连结数,缺省值为1,可选--> -- 同时打开的最大连结数,缺省值为2,可选--> -- 连结到数据库的用户名,必须--> -- 连结到数据库的密码,必须--> 开发人员还可以设置Key(绑定在ServletContext上的DataSource实例的索引键,若不设定则缺省为Action.DATA_SOURCE_KEY,如果在应用程序中有多于一个的DataSource,则必须设置Key的值)、Description(关于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元素的定义格式如下: Eg. type="com.amigo.struts.form.user.UserForm"/> 对应的FormBean类一般是继承ActionForm类,例如下面的例子定义了一个UserForm,它具有userName和password两个属性。 该类的代码如下: [Java] viewplaincopy 1.package com.amigo.struts.form.user; 2. 3.import org.apache.struts.action.ActionForm; 4. 5.public class UserForm extends ActionForm { 6. 7. private static final long serialVersionUID = 1L; 8. 9. 10. /** 用户名.*/ 11. 12. private String userName; 13. 14. /** 密码. */ 15. 16. private String password; 17. 18. public String getPassword() { 19. 20. return password; 21. 22. } 23. 24. public void setPassword(String password) { 25. 26. this.password = password; 27. 28. } 29. 30. public String getUserName() { 31. 32. return userName; 33. 34. } 35. 36. public void setUserName(String userName) { 37. 38. this.userName = userName; 39. 40. } 41. 42.} (2)动态form-bean 动态form-bean不需要定义对应的javabean类,其元素都在struts-config.xml中定义。 其type为: org.apache.struts.validator.DynaValidatorForm。 下面的动态FormBean定义了userName和password属性,配置如下: 3global-forwards global-forwards用于配置全局转发,struts首先会在 它包含0个或多个 Eg. 4action-mappings 该元素用于将Action元素定义到ActionServlet类中,它含有0到多个 type="该Action的对应类的全路径" name="该Action绑定的FormBean" 每个action子元素可包含一个或多个forward子元素。 除了path、type和name属性外,action还具有如下属性: ● scope: 指定ActionFormBean的作用域(session和request),缺省为session。 (可选); ● input: 当Bean发生错误时返回的路径(可选); ● classname: 指定一个调用这个Action类的ActionMapping类的全名。 缺省用org.apache.struts.action.ActionMapping(可选); ● include: 如果没有forward的时候,它起forward的作用(可选); ● validate: 若为true,则会调用ActionForm的validate()方法,否则不调用,缺省为true(可选)。 forward属性也是可选的。 action元素定义举例如下: Eg1. path="/userAction" type="com.amigo.struts.action.UserAction" name="UserForm" scope="request" validate="false" parameter="method"> Eg2. 有input属性的例子: type="com.amigo.struts.action.CalcAction" name="CalcForm" scope="request" validate="true" input="/index.jsp"> Eg3. 仅有JSP的action元素: parameter="/default.jsp" type="org.apache.struts.actions.ForwardAction"/> 首先,ActionServlet接到请求后调用ForwardAction的execute()方法,execute()根据配置的parameter属性值来forward到那个URI。 这样做的效果是: 没有任何form被实例化,比较现实的情形可能是form在request更高级别的范围中定义;或者这个action被用作在应用程序编译好后充当系统参数,只需要更改这个配置文件而不需要重新编译系统。 5.message-resources 该元素用来定义资源文件,格式如下: 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. Eg2. parameter="com.amigo.struts.ApplicationResources" null="false"/> 6.plug-in 该元素用于定义插件,可定义0到多个插件元素,最常见的plug-in为Struts的验证的插件,配置举例如下: Eg1.Struts的验证的plug-in: value="/WEB-INF/validator-rules.xml,/WEB-INF/manager/validation.xml"/> Eg2.Spring提供的载入插件配置: value="/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml"/> 7. 完整配置实例 本小节举例说明struts-config.xml文件的配置: [XML] viewplaincopy 1. xml version="1.0" encoding="UTF-8"? > 2. 3. DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http: //struts.apache.org/dtds/struts-config_1_2.dtd"> 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. path="/userAction" 24. 25. type="com.amigo.struts.action.UserAction" 26. 27. name="UserForm" 28. 29. scope="request" 30. 31. validate = "false" 32. 33. parameter="method" > 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. value="/WEB-INF/validator-rules.xml,/WEB-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- strutsconfig 元素