Frame struts2

package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionSupport;

public class ChildrenAction extends ActionSupport {
private String result = “儿童用品”;

public String getResult() {
	return result;
}

public void setResult(String result) {
	this.result = result;
}

@Override
public String execute() {
	
	return "success";
}

}
package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionSupport;

public class ClothAction extends ActionSupport {
private String result = “服装”;

public String getResult() {
	return result;
}

public void setResult(String result) {
	this.result = result;
}

@Override
public String execute() {
	
	return "success";
}

}
package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionSupport;

public class LifeAction extends ActionSupport {
private String result = “生活用品”;

public String getResult() {
	return result;
}

public void setResult(String result) {
	this.result = result;
}

@Override
public String execute() {
	
	return "success";
}

}
package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

public class MyInterceptor1 implements Interceptor { @Override public String intercept(ActionInvocation ai) throws Exception { System.out.println("interceptor1"); boolean hasLogin = true; if(hasLogin) {//Assuming that the conditions are established, allow access to the current action System.out.println("before interrupt"); ai.invoke();//Pass, not intercept. Don't call is to intercept, don't let go down. System.out.println("after interrupt");







		return null;
	}else {//条件不成立,跳转到某个特定的
		return "notLogin";
	}
}

@Override
public void destroy() {
}

@Override
public void init() {
}

}
package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

public class MyInterceptor2 implements Interceptor {

@Override
public String intercept(ActionInvocation ai) throws Exception {
	System.out.println("interceptor2");
	ai.invoke();
	return null;
}

@Override
public void destroy() {
	// TODO Auto-generated method stub

}

@Override
public void init() {
	// TODO Auto-generated method stub

}

}
package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

public class MyInterceptor3 implements Interceptor {

@Override
public String intercept(ActionInvocation ai) throws Exception {
	System.out.println("interceptor3");
	ai.invoke();
	return null;
}

@Override
public void destroy() {
	// TODO Auto-generated method stub

}

@Override
public void init() {
	// TODO Auto-generated method stub

}

}
package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;

public class MyMethodInterceptor1 extends MethodFilterInterceptor{

@Override
public String doIntercept(ActionInvocation ai) throws Exception {
	System.out.println("interceptor1");
	boolean b = true;
	if(b) {
		ai.invoke();
		return null;
	} else {
		return "error";
	}
}

}
package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionSupport;

public class TargetAction1 extends ActionSupport {

@Override
public String execute() {
	System.out.println("target action1");
	return "success";
}

}
package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionSupport;

public class TargetAction2 extends ActionSupport {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String execute() {
System.out.println(“target action2, name=” + name);
return “success”;
}
}
package com.chen.struts2.day4;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {

public String add(){
	System.out.println("add");
	return "success";
}
public String delete(){
	System.out.println("delete");
	return "success";
}
public String update(){
	System.out.println("update");
	return "success";
}

}

<?xml version="1.0" encoding="UTF-8" ?>
<package name="day4" extends="struts-default">
	<action name="lifeAction" class="com.chen.struts2.day4.LifeAction">
		<result name="success">/life.jsp</result>
	</action>
	<action name="clothAction" class="com.chen.struts2.day4.ClothAction">
		<result name="success">/cloth.jsp</result>
	</action>
	<action name="childrenAction" class="com.chen.struts2.day4.ChildrenAction">
		<result name="success">/children.jsp</result>
	</action>
</package>

<package name="inter" extends="struts-default" namespace="/inter">
	<interceptors>
		<interceptor name="interceptor1" class="com.chen.struts2.day4.MyInterceptor1" />
		<interceptor name="interceptor2" class="com.chen.struts2.day4.MyInterceptor2"></interceptor>
		<interceptor name="interceptor3" class="com.chen.struts2.day4.MyInterceptor3"></interceptor>
		<interceptor-stack name="interceptorStack1">
			<interceptor-ref name="interceptor1" />
			<interceptor-ref name="interceptor2"/>
		</interceptor-stack>
	</interceptors>
	<!-- 
	<default-interceptor-ref name="interceptorStack1"></default-interceptor-ref>
	 -->
	<global-results>
		<result name="notLogin">/login.jsp</result>
	</global-results>
	
	<action name="targetAction1" class="com.chen.struts2.day4.TargetAction1">
		<result name="success">/index.jsp</result>
		<!-- 
		<interceptor-ref name="interceptor2"></interceptor-ref>
		<interceptor-ref name="interceptor1"></interceptor-ref>
		 -->
	</action>
	
	<action name="targetAction2" class="com.chen.struts2.day4.TargetAction2">
		<result name="success">/index.jsp</result>
		<!-- 
		<interceptor-ref name="interceptorStack1"></interceptor-ref>
			 	 -->
		<interceptor-ref name="defaultStack"></interceptor-ref>
		 <interceptor-ref name="interceptor3"></interceptor-ref>

	</action>

</package>

<package name="user" extends="struts-default" namespace="/user">
	<interceptors>
		<interceptor name="myMethodInter1" class="com.chen.struts2.day4.MyMethodInterceptor1">
			<!-- 
			<param name="includeMethods">add,delete</param>
			 -->
			 <param name="excludeMethods">update</param>
		</interceptor>
	</interceptors>
	<action name="user_*" class="com.chen.struts2.day4.UserAction" method="{1}">
		<result name="success">/index.jsp</result>
		<interceptor-ref name="myMethodInter1"></interceptor-ref>
	</action>
</package>

Guess you like

Origin blog.csdn.net/m0_38127487/article/details/114793887