现在的位置: 首页 > 综合 > 正文

Struts2 学习笔记06 通配符配置

2019年09月01日 ⁄ 综合 ⁄ 共 1267字 ⁄ 字号 评论关闭

  介绍下通配符配置,利用通配符配置是官网推荐的配置方法。

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>
<constant name="struts.devMode" value="true" />
    <package name="01" namespace="/" extends="struts-default">
    
		<action name="Student_*" class="com.tfj.struts2.StudentAction" method="{1}">
			<result>
				/Student_{1}_success.jsp
			</result>
		</action>
		
		<action name="*_*" class="com.tfj.struts2.{1}Action" method="{2}">
			<result>
				/{1}_{2}_success.jsp
			</result>
		</action>
       
    </package>

</struts>

StudentAction.java

package com.tfj.struts2;

import com.opensymphony.xwork2.ActionSupport;

public class StudentAction extends ActionSupport{
	public String add(){
		return SUCCESS;
	}
	public String delet(){
		return SUCCESS;
	}
}

先看第一个action 调用http://localhost:8080/Struts2_0600_Wildcard/Student_add或http://localhost:8080/Struts2_0600_Wildcard/Student_delet均可以和这个action匹配,调用StudentAction的方法。

method={1}意思是和第一个星号的内容相同,例如访问http://localhost:8080/Struts2_0600_Wildcard/Student_add星号的内容就是add,即调用add方法。


第二个action是最为简化的,名称是*_*,类是class="com.tfj.struts2.{1}Action",{1}代表第一个星号内容,method="{2}"调用与第二个星号内容相同的方法,result /{1}_{2}_success.jsp.最大化的精简了配置。只需要这一个action,列表中的内容都实现了访问。




Tips:当出现输入都能匹配的时候,如有一个action 名是student_success 和一个action 名称是*_success ,优先匹配精确的action。

抱歉!评论已关闭.