Struts2配置文件
Posted rodge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2配置文件相关的知识,希望对你有一定的参考价值。
一、配置struts2的过滤器
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
version="2.5">
<display-name>zjs_bos</display-name>
<!-- 创建struts2的过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<!--同时拦截转发数据和请求数据-->
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
二、Struts.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 开发者模式,在开发者模式中,
如果jsp发送的请求数据, 在action中没有给提供相应的get和set方法,会报错java.lang.NoSuchFieldException -->
<constant name="struts.objectFactory" value="spring"></constant>
<!-- 配置struts国际化参数,设置编码区默认的编码格式 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 配置struts国际化参数,设置message.properties路径 -->
<constant name="struts.custom.i18n.resources" value="message"></constant>
(备注,可以在action类中,通过this.getText("usernameOrPasswordError")来获取message.properties文件中usernameOrPasswordError对应的值)
<!-- 配置package -->
<!--
name属性, 理论上可以为任意值, 但是不同的package不能有相同的name属性;
extends属性, 为固定值struts-default;
namespace属性, 名称空间, 域action的标签的name属性一起构成action的访问路径
-->
<package name="basicstruts2" extends="struts-default" namespace="/">
<!-- 配置拦截器 -->
<interceptors>
<interceptor name="bosLoginInterceptor" class="cn.rodge.bos.web.interceptoer.BOSLoginInterceptor">
<param name="excludeMethods">login</param>
</interceptor>
<!-- 声明拦截器栈 -->
<interceptor-stack name="bos">
<!--自定义拦截器后, 默认的拦截器就不会执行了, 所以需要手动将默认拦截器栈添加上来-->
<interceptor-ref name="bosLoginInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 将bos定义为默认拦截器栈 -->
<default-interceptor-ref name="bos"></default-interceptor-ref>
<!--声明全局结果变量,注意全局结果变量的声明是有顺序的,不能再拦截器前面声明,不然会报错-->
<global-results>
<result name="login">/login.jsp</result>
</global-results>
<!-- 配置通过action访问jsp的路径
class不配置的话,默认访问actionsupport(在struts的默认配置文件中有配置)
method不配置的话,默认访问execute方法
-->
<action name="page_*_*">
<!-- name不配置的话,默认访问SUCCESS对应的 -->
<result type="dispatcher">/WEB-INF/pages/{1}/{2}.jsp</result>
</action>
<!-- 配置UserAction -->
<action name="user_*" class="userAction" method="{1}">
<result name="home">/WEB-INF/pages/common/index.jsp</result>
<result name="login">/login.jsp</result>
</action>
</package>
</struts>
以上是关于Struts2配置文件的主要内容,如果未能解决你的问题,请参考以下文章