<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <!--修改struts action访问时的后缀,默认为.action;可以省略;多个可以使用英文逗号隔开--> <constant name="struts.action.extension" value="action,do,html"></constant>
<!--include节点是Struts2中组件化的方式,可以将每个功能独立到一个xml配置文件中, 然后通过include节点引用--> <include file="/struts_index.xml"></include> <!--package提供了将多个Action组织为一个模块的方式 package的名字必须是唯一的package可以扩展 当一个package扩展自另一个 package的时候package会在本身配置的基础上加入扩展的package的配置父package 必须在子package前配置 name:package名称 extends:继承的父package名称 abstract:设置package的属性为抽象的package不能定义action namespace:定义package命名空间 该命名空间影响url的地址,例如: namespace="/test" 那么访问路径为http://localhost:8080/ssh/test/login 其中后缀.action可以省略 --> <package name="null" extends="struts-default" namespace="/test"> <interceptors> <!--定义拦截器 name:拦截器名称 class:拦截器类路径 --> <interceptor name="timer" class="com.zxr.timer"></interceptor> <interceptor name="logger" class="com.zxr.Logger"></interceptor> <!--定义拦截器栈--> <interceptor-stack name="mystack"> <interceptor-ref name="timer"></interceptor-ref> <interceptor-ref name="logger"></interceptor-ref> </interceptor-stack> </interceptors> <!--定义默认的拦截器每个Action都会自动引用, 如果Action中引用了其它拦截器 默认拦截器将无效--> <default-action-ref name="login"></default-action-ref> <!--全局results配置--> <global-results> <result name="input">/error.jsp</result> </global-results> <!-- Action配置一个Action可以被多次映射(只要action配置中的name不同) name:action名称 class:对应的类的路径 method:调用Action中的方法 --> <action name="login" class="com.zxr.action.LoginAction" method="success"> <!--引用拦截器 name:拦截器名称或拦截器栈名称 <interceptor-ref name="timer"></interceptor-ref> --> <!-- 节点配置 name:result名称 和Action中返回的值相同 type:result类型 不写则选择superpackage的type struts-default.xml中默认的type --> <result name="success">/jsp/success.jsp</result> <!--参数设置 name:对应Action中的get/set方法 --> <param name="url">http://www.sina.com</param> </action> </package> <package name="demo" namespace="/" extends="struts-default"> <!--配置默认的action--> <default-action-ref name="index"></default-action-ref> <action name="index"> <result>/jsp/error/error.jsp</result> </action> <!--没有指定action中的方法,调用action中的默认方法execute--> <action name="demoAction" class="com.zxr.action.IndexAction"> <result name="success">/jsp/index.jsp</result> </action> <!--指定方式调用action中的方法通过 method="对应的方法" 指定所要调用的方法--> <action name="addAction" class="com.zxr.action.IndexAction" method="add"> <result name="add">/jsp/add.jsp</result> </action> <!--使用!调用action中的方法 http://localhost:8080/gthAction!add.action struts2 2.5版本必须配置 <allowed-methods>add,edit</allowed-methods> 否则无法通过匹配符访问 【一般不推荐使用此方法】 --> <action name="gthAction" class="com.zxr.action.IndexAction"> <result name="add">/jsp/add.jsp</result> <result name="edit">/jsp/edit.jsp</result> <result name="success">/jsp/success.jsp</result> <allowed-methods>add,edit</allowed-methods> </action> <!--使用通配符调用action中的方法 【提倡使用】 *表示匹配的参数 {1}表示匹配第一个参数 struts2 2.5版本必须配置 <allowed-methods>add,edit</allowed-methods> 否则无法通过匹配符访问 --> <action name="tpfAction_*" class="com.zxr.action.IndexAction" method="{1}"> <result name="add">/jsp/{1}.jsp</result> <result name="edit">/jsp/{1}.jsp</result> <result name="success">/jsp/index.jsp</result> <allowed-methods>add,edit</allowed-methods> </action> <!--通过全局通配符的方式动态的调用action和action中的方法 【提倡使用】 第一个匹配符必须和action中类名相同 http://localhost:8080/Index_add Index为IndexAction的Index ;add为IndexAction中的方法 --> <action name="*_*" class="com.zxr.action.{1}Action" method="{2}"> <result name="add">/jsp/{2}.jsp</result> <result name="edit">/jsp/{2}.jsp</result> <result name="success">/jsp/index.jsp</result> <allowed-methods>add,edit</allowed-methods> </action> </package> <!--使用!调用方法时必须添加此配置 访问方式: --> <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant> </struts>
原文地址:https://www.cnblogs.com/binkai/p/9975104.html
时间: 2024-10-07 04:51:26