struts-config.xml总结

来源:互联网 发布:大数据理论知识 编辑:程序博客网 时间:2024/06/08 14:30
<?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">


<struts-config>
<data-sources />
<form-beans>
       <!--PageForm继承ActionForm,存储查询的参数-->
<form-bean name="pageForm" type="com.erongsoft.action.form.PageForm" />
</form-beans>
<action-mappings>
        <!-- 关注action的配置 -->
        <action path="/customer/customer_action"  //请求url
name="baseForm"  //该Action绑定的ActionForm(存放请求参数)
validate="false"  //是否执行ActionForm中的validate方法来校对请求参数,缺省为true
input="/error.jsp"  //当Bean发生错误时返回的路径
scope="request"  //指定ActionForm的作用域,可选值有request和session,缺省为session
type="cn.com.pc.groupbuy.action.CustomerAction"  //请求处理类
parameter="method">  //用url参数指定处理方法。如://user.do?method=execute将调execute方法
 <forward name="list"  //逻辑视图名(ActionForward对象值),如:mapping.findForward("list")
path="/WEB-INF/pages/customer/customer_list.jsp"  //视图
redirect="false"/>  //是否重定向(默认值为false)
        </action>
    </action-mappings>
</struts-config>


Strut1配置文件的重要参数path指定寻找对应的哪个请求,type指定请求对应的Action,parameter指定调用Action中的哪个方法;
name和attribute指定请求参数存放的ActionForm,scope指定ActionForm的作用域;


Action继承BaseAction,方法参数如下,
public ActionForward search(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response){
     //ActionForm需要进行强制类型转换,转换为实际存储请求参数的ActionForm,
     //操作数据库,逻辑处理和service调用
     //操作结果存放在request中;使用${class.attribute}来访问;
     //ActionMapping存储有action的节点信息,如name,path,type
     //mapping.findForward(String urlResult);设置Action请求回应对应的forward的name值,通过配置文件的匹配,跳转到对应的URL
}


与Action有关的类:ActionServlet,ActionMapping,ActionForm,ActionForward,BaseAction,DispatchAction




struts1中动态FormBean的配置和使用:
<struts-config>
    <form-beans>
        <form-bean name="loginform"type="org.apache.struts.action.DynaActionForm">
            <form-property name="username"type="java.lang.String"></form-property>
            <form-property name="password"type="java.lang.String"></form-property>
        </form-bean>
    </form-beans>
    <action-mappings>
        <action path="/login" type="bdqn.action.LoginAction"name="loginform">
            <forward name="success"path="/success.jsp"></forward>
            <forward name="error" path="/error.jsp"></forward>
        </action>
     </action-mappings>
</struts-config>


action层使用如下(ActionForm form):
DynaActionFormloginForm=(DynaActionForm)form;//强制转换
String username=(String)loginForm.get("username");//接收动态FormBean的值。




action继承DispatchAction,重写execute()方法。


<?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">


<struts-config>
  <!-- 设置App使用的数据源信息 -->
  <data-sources />
  <!--
  <data-source key="firstOne" type="org.apache.commons.dbcp.BasicDataSource">  
    <!--   
      名称:set-property   
      描述:用来设定数据源的属性   
      属性:   
      @autoCommit:是否自动提交 可选值:true/false   
      @description:数据源描述   
      @driverClass:数据源使用的类   
      @maxCount:最大数据源连接数   
      @minCount:最小数据源连接数   
      @user:数据库用户   
      @password:数据库密码   
      @url:数据库url   
    -->  
    <set-property property="autoCommit" value="true"/>  
    <set-property property="description" value="Hello!"/>  
    <set-property property="driverClass" value="com.mysql.jdbc.Driver"/>  
    <set-property property="maxCount" value="10"/>  
    <set-property property="minCount" value="2"/>  
    <set-property property="user" value="root"/>  
    <set-property property="password" value=""/>  
    <set-property property="url" value="jdbc:mysql://localhost:3306/helloAdmin"/>  
   </data-source>  
</data-sources> 
  
 
  <!-- 配置ActionForm bean -->
  <form-beans >
    <form-bean name="demoForm" type="com.erongsoft.action.form.DemoForm" />
    <form-bean name="groupForm" type="com.erongsoft.action.form.GroupForm" />
    <form-bean name="Hello" type="myPack.Hello">  
       <!--   
         名称:form-property   
         描述:用来设定ActionForm Bean的属性   
数量:根据实际需求而定,例如,ActionForm Bean对应的一个登陆Form中有两个文本框,name和password,ActionForm Bean中也有这两个字段,则此处编写两个form-property来设定属性   
属性:   
@className:指定与form-property相对应的配置类,默认是org.apache.struts.config.FormPropertyConfig,如果自定义,则必须继承FormPropertyConfig类   
@name:所要设定的ActionForm Bean的属性名称   
@type:所要设定的ActionForm Bean的属性值的类   
@initial:当前属性的初值   
       -->  
       <form-property name="name" type="java.lang.String"/>  
       <form-property name="number" type="java.lang.Iteger" initial="18"/>  
    </form-bean>  
  </form-beans>
  <!--  -->
  <global-exceptions />


<global-exceptions>  
  <!--   
     名称:exception   
     描述:具体定义一个异常及其处理   
   数量:任意多个   
   属性:   
    @className:指定对应exception的配置类,默认为org.apache.struts.config.ExceptionConfig   
      @handler:指定异常处理类,默认为org.apache.struts.action.ExceptionHandler   
      @key:指定在Resource Bundle种描述该异常的消息key   
      @path:指定当发生异常时,进行转发的路径   
    @scope:指定ActionMessage实例存放的范围,默认为request,另外一个可选值是session   
      @type:必须要有!指定所需要处理异常类的名字。   
    @bundle:指定资源绑定   
  -->  
  <exception  
   key=""hello.error   
   path="/error.jsp"  
   scope="session"  
   type="hello.HandleError"/>  
</global-exceptions> 


  <global-forwards>
  <forward name="error" path="/error.jsp"></forward>
  </global-forwards>


<global-forwards>  
   <!--   
      名称:forward   
      描述:定义一个具体的转发   
    数量:任意多个   
    属性:   
     @className:指定和forward元素对应的配置类,默认为org.apache.struts.action.ActionForward   
       @contextRelative:如果为true,则指明使用当前上下文,路径以“/”开头,默认为false   
       @name:必须配有!指明转发路径的唯一标识符   
     @path:必须配有!指明转发或者重定向的URI。必须以"/"开头。具体配置要与contextRelative相应。   
     @redirect:为true时,执行重定向操作,否则执行请求转发。默认为false   
   -->  
   <forward name="A" path="/a.jsp"/>  
   <forward name="B" path="/hello/b.do"/>  
</global-forwards>  


  <action-mappings >
   
  
  </action-mappings>


  <message-resources parameter="com.erongsoft.action.ApplicationResources" />
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/strutsvalidation/DemoForm-validation.xml,
/WEB-INF/strutsvalidation/DonatetranForm-validation.xml,
/WEB-INF/strutsvalidation/LoginForm-validation.xml"/>
</plug-in>
</struts-config>
0 0
原创粉丝点击