struts-config.xml 配置文件

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> 
  3.  
  4. <struts-config> 
  5.   <data-sources /> 
  6.   <form-beans > 
  7.     <form-bean name="loginForm" type="com.form.LoginForm"></form-bean> 
  8.   </form-beans> 
  9.   <global-exceptions >
  10.  
  11.     <exception key="errors" type="java.lang.Exception" 
  12.                path="/globalExceptions.jsp" scope="request"> 
  13.     </exception> 
  14.  
  15.     </global-exceptions> 
  16.   <global-forwards /> 
  17.   <action-mappings > 
  18.  
  19.     <action path="/login" 
  20.             type="org.springframework.web.struts.DelegatingActionProxy" 
  21.             name="loginForm" 
  22.             scope="request" 
  23.     > 
  24.         <forward name="success" path="/main.jsp"></forward> 
  25.         <forward name="error" path="/login_error.jsp"></forward> 
  26.     </action> 
  27.  
  28.   </action-mappings> 
  29.     
  30.   <message-resources parameter="com.struts.ApplicationResources" key="global"/> 
  31.    
  32. </struts-config> 

PS:

<exception/>元素配置的关键属性是:

key 即这个异常所对应的错误提示消息文本的key,这个key的值,需要在资源属性文件中进行定义

type 即定义需要处理哪种类型的Exception

      path 定义一旦出现异常,需要转向哪个页面来进行提示,如果不定义path属性,默认情况下,将使用Action配置中的input属性的值来作为转向的页面

<message-resources/>元素配置的关键属性是:

     parameter - 资源属性文件的位置
     key       - 标识资源属性文件的位置,与提示页面bundle属性绑定

资源属性文件(ApplicationResources.properties)

  1. # Resources for parameter 'com.struts.ApplicationResources' 
  2. # Project Prj02  
  3. errors=My global exception!  Please contact with administrator! 

 

 

提示页面(globalExceptions.jsp):显示资源文件的信息

  1. <bean:message key="errors" bundle="global"/><br> 

此处的key值与资源属性文件(ApplicationResources.properties)配置的key值(errors)相同,bundle值与struts-config.xml 配置文件中<message-resources/>标签的key值(global)相同。

可以在web.xml中配置404.500等错误,这样当应用程序出错的时候可避免用户直接看到错误界面,具体的配置方法如下,在<welcome-file-list>后面配置<error-page/> ,同时通过web.xml集成Spring:

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
  3.   <servlet> 
  4.     <servlet-name>action</servlet-name> 
  5.     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 
  6.     <init-param> 
  7.       <param-name>config</param-name> 
  8.       <param-value>/WEB-INF/struts-config.xml</param-value> 
  9.     </init-param> 
  10.     <load-on-startup>2</load-on-startup> 
  11.   </servlet> 
  12.   <servlet-mapping> 
  13.     <servlet-name>action</servlet-name> 
  14.     <url-pattern>*.do</url-pattern> 
  15.   </servlet-mapping> 
  16.   <welcome-file-list> 
  17.     <welcome-file>index.jsp</welcome-file> 
  18.   </welcome-file-list> 
  19.  
  20. <error-page>    
  21.     <error-code>404</error-code>    
  22.     <location>/404.jsp</location>    
  23. </error-page>    
  24. <error-page>    
  25.     <error-code>500</error-code>    
  26.     <location>/500.jsp</location>    
  27. </error-page> 
  28.  
  29.     <context-param> 
  30.         <param-name>contextConfigLocation</param-name> 
  31.         <param-value>/WEB-INF/applicationContext.xml</param-value> 
  32.     </context-param> 
  33.      <listener> 
  34.         <listener-class> 
  35.             org.springframework.web.context.ContextLoaderListener  
  36.         </listener-class> 
  37.     </listener>
  38.     
  39. </web-app>