struts-config.xml是Struts的核心文件。该文件可配置各种组件,包括,FormBeans,Actions,ActionMappings,全局转发GlobalForwards,数据源DataSources及插件Plugin,这篇文件我结合在(Struts重构)构建一个简单的基于MVC模式的JavaWeb一文来说说Struts配置文件struts-config.xml的主要元素!
<form-beans>元素
<form-beans>元素允许配置多个ActionForm类,可以包含零个或多个<form-bean>子元素。其主要元素如下所示:
calssName :可选。指定和<form-bean>元素对应的配置类,默认值这org.apache.struts.config.FormBeanConfig,自定义的配置类必须扩展该类。
name:指定该ActionForm的惟一标识名,Struts框架用该标识来引用这个form bean,该属性必须填写!
type:指定ActionForm的完整类路径和类名,该属性必须填写!
例子:

<form-bean name="studentForm" type="struts.form.StudentForm" />

如果配置动态ActionForm(DynaActionForm),则还必须配置<form-bean>元素的<form-property>子元素,用来指定表单字段,
例子:

<form-bean name="dynaFormForm" type="org.apache.struts.action.DynaActionForm ">
      <form-property name="userName" type="java.lang.String" />
      <form-property name="userPwd" type="java.lang.String" />
</form-bean>

<action-mappings>元素
<action-mappings>元素帮助进行框架内部的流程控制,可以将 请求URI映射到Action类,将Action对象与ActionForm对象相关联。
<action-mappings>元素内可定义多个<action>子元素。<action>元素所描述的是特定的请求路径和一个相应的Action类之间的映射关系。Struts控制器会将请求中的URI路径与诸多<action>元素中的path属性相匹配,以选出一个特定的映射。其有以下属性:
attribute:设置和Action关联的form bean在request/session内的属性key,通过request/session的getAttribute(attribute)方法返回该form bean实例。
className:和<action>元素对应的配置元素。默认为org.apache.struts.action.ActionMapping
forward:指定局部转发项。
include:指定包含的URL路径。
input:指定表单输入页的URL路径。当表单验证失败时将请求转发到该URL。
name:指定同该Action关联的form bean的引用标识。
path:指定Action的访问路径,即该Action在引用中的标识名,以"/"开头。
parameter:指定允许调用该Action的参数。在Action类的execute()方法中调用ActionMapping对象的getParameter()方法来读取。
roles:指定允许调用该Action类关联的安全角色。多个角色之间用逗号分隔。
scope:指定同该Action类关联的form bean的存在范围。可选request和session,默认为session.
type:指定该Action类的完整类路径和类名。
unknown:若该属性为true,则可以处理用户发出的无效ActionURL.默认为false。
validate:指定是否调用form bean的validate()方法验证表单的数据。默认为true

另外<action>元素中可包含零个或多个<forward>子元素。<forward>子元素定义了转发动作。它的主要属性如下:
name:指定转向的标识名。
path:指定转向标识名所对应的转向页面
redirect:指定是转发还是重定向。
例:

<action-mappings >
      <action    attribute="dynaFormForm" 
          input="/dynaForm.jsp"
          name="dynaFormForm"
          path="/dynaFormForm"          
          scope="request"
          validate="true"
          type="struts.action.LoginHandlerAction">
          <forward name="success" path="/main.jsp" />
          <forward name="fail" path="/register.jsp" />
      </action>

<global-forwards>元素
<global-forwards>元素用于定义在整个应用程序内的全局转发。在该元素内可定义多个<forward>子元素。
例:

<!-- 全局转发 -->
  <global-forwards>
      <forward name="index" path="/index"></forward>
  </global-forwards>

<message-resources>元素
  <message-resources>元素用于配置消息资源文件(Resources Bundle),以在应用客户端界面中输出本地化消息文本。其主要属性如下:
  className:指定和<form-bean>元素对应的配置类,默认值为org.apache.struts.config.MessageResourcesConfig
  factory:指定消息资源的工厂类,默认为org.apache.struts.util.PropertyMessageResourcesFactory
  key:指定资源文件存放在ServletContext对象中时使用的属性key。默认为Globals.MESSAGE_KEY定义的字符串常量
  null:指定MessageResources对未知消息的处理方式。若为true将返回空字符串,若为false则返回类似以"??global.label.missing???"字符串。默认为true。
  parameter:指定消息资源文件存放路径。
  例:

<!-- 资源文件 -->
  <message-resources parameter="struts.ApplicationResources" />
            <!--存放在struts包下.注意不要写成struts/ApplicationResources-->

<plug-in>元素
主要用于定义添加至struts应用中的插件
例:

    <!-- 验证插件 -->   
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames"  value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  </plug-in>

struts1:Struts配置文件初解的更多相关文章

  1. struts2视频学习笔记 09-10(struts2处理流程,指定多个struts配置文件)

    课时9 Struts2的处理流程 StrutsPrepareAndExecuteFilter是Struts 2框架的核心控制器,它负责拦截由<url-pattern>/*</url- ...

  2. (22) java web的struts2框架的使用-struts配置文件

    1,配置文件的引用 struts中配置文件可以有多个,每个模块的包里面都可以单独设立一个struts配置文件. 主的配置文件,放在“src”文件夹下,可以引入其他配置文件,引入方式: <!-- ...

  3. 【JavaEE企业应用实战学习记录】struts配置文件详细解析

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

  4. struts1:(Struts重构)构建一个简单的基于MVC模式的JavaWeb

    在构建一个简单的基于MVC模式的JavaWeb 中,我们使用了JSP+Servlet+JavaBean构建了一个基于MVC模式的简单登录系统,但在其小结中已经指出,这种模式下的Controller 和 ...

  5. struts配置文件说明

    (1)DOCTYPE(文档类型),所有的struts配置文件都需要有正确的doctype. (2)<struts>是根标记元素,在其下使用<package>标签声明不同的包. ...

  6. struts2_6_多个struts配置文件的应用

    在大部分应用里,随着应用规模的添加,系统中Action的数量也会大量添加.导致struts.xml配置文件变的很臃肿,为了避免struts.xml文件过于庞大.臃肿,提高struts.xml文件的可读 ...

  7. Struts配置文件

    本章节将带你学习Struts2 应用程序所需的基本配置.在这里可以看到哪些将被配置到一些重要的配置文件中:web.xml.struts.xml.struts-config.xml以及struts.pr ...

  8. struts1:(Struts)ActionForm类及表单数据验证

    在Struts的中央控制器中写了Struts的控制器角色,在这篇介绍下Struts的视图!Struts的视图组件:Struts框架中的视图组件主要包括:JSP页面.ActionForm类.Struts ...

  9. struts1:Struts的中央控制器

    在Struts框架中,有多个组件分担控制器的工作,它们分别是ActionServlet类,RequestProcessor类和Action类等,其中ActionServlet是Struts框架中的核心 ...

随机推荐

  1. 1203.3——循环语句 之 while

    while循环 while循环的一般形式为:    while(表达式){        语句块    }其中表达式称为循环条件,语句块称为循环体. while语句的意思是:先计算表达式的值,当值为真 ...

  2. iOS系统相册的有关操作

    iOS中,我们选择相册中的资源和调用摄像头可以使用 :UIImagePickerController类来完成,不使用UI我们可以通过:ALAssetsLibrary类来使用相册资源. 一. ALAss ...

  3. GO语言基础

    Go语言开发 一.Linux下搭建Go开发环境 首先下载Go语言的开发安装包,不管是在官方网站或者国内的Golang镜像都是可以的,注意区分64位和32位的安装包. 下载完安装包之后tar zxvf进 ...

  4. transient 做个标记

    import java.io.*; import java.util.*; public class Logon implements Serializable { /** * */ private ...

  5. 关于安卓的log学习

    什么时候会产生log文件? 1. 程序异常退出 Uncaused Exception. 2. 程序强制关闭 Force Closed(FC). 3. 程序无响应 Application No Resp ...

  6. Python之路第十三天,高级(7)-详述数据库一对多,多对多表关系的设计以及如何查询

    一对多表设计和查询方法 #!/usr/bin/env python3 # Author: Zhangxunan from sqlalchemy import create_engine from sq ...

  7. automation studio 6.0 破解版 32位

    破解软件在iso文件的patch目录下 链接:http://pan.baidu.com/s/1o8KR7rc 密码:y87g   

  8. python的时间模块

    python有两个重要的时间模块,分别是time和datetime 先看time模块 表示时间的几种方法: 1)时间元组:time.struct_time(tm_year=2016,   tm_mon ...

  9. STM32工程中出现 error: A1163E: Unknown opcode R0, , expecting opcode or Macro错误分析及处理

    最近测试以前的一个程序,一般都是打开以前写的程序修改参数直接测试 但是发现以前的编译后出现错误. 奇怪了,以前的出现都是调试好了的啊,一般都是没有错误的,迅速找问题 跳转到错误代码行 代码区域 Hea ...

  10. try-catch-finally块的运行机制

    try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 也许你的答案是在return之前,但往更细地说,我 ...