strust2_003

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<constant name="struts.i18n.encoding" value="utf-8"></constant>
	<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
	
	<package name="init" namespace="/init" extends="struts-default">
		<global-results>
			<result name="global">/global.jsp</result>
		</global-results>
	</package>
	
	<package name="user" namespace="/user" extends="init">
		
		<action name="userAction" class="action.UserAction">
			<!-- 转发到指定jsp -->
			<result name="ognl" type="dispatcher">/ognl.jsp</result>
			<!-- 重定向到指定jsp -->
			<result name="success" type="redirect">/success.jsp</result>
		</action>
	
	</package>
</struts>    



<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<package name="test" namespace="/test" extends="init">
		
		<action name="*Action" class="action.TestAction1" method="{1}">
			<!-- 转发到指定jsp -->
			<result name="dispatcher" type="dispatcher">/success.jsp</result>
			<!-- 重定向指定 jsp -->
			<result name="redirect" type="redirect">/success.jsp</result>
			<!-- 转发到指定Action -->
			<result name="chain" type="chain">dispatcherTestAction2</result>
			<!-- 重定向到Action -->
			<result name="redirectAction" type="redirectAction">redirectTestAction2</result>
		</action>
		
		<action name="*TestAction2" class="action.TestAction2" method="{1}">
			<result name="dispatcher" type="dispatcher">/success.jsp</result>
			<result name="redirect" type="redirect">/success.jsp?remark=${remark}</result>
		</action>
		
		<action name="dynamicAction" class="action.DynamicAction">
			<result>${forward}</result>
		</action>
	
	</package>
</struts>    



<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	
	<constant name="struts.i18n.encoding" value="utf-8"></constant>

	<include file="user.xml"></include>
	<include file="test.xml"></include>
</struts>    



package action;

import com.opensymphony.xwork2.ActionSupport;

public class DynamicAction extends ActionSupport {
	
	private String forward;
	
	public String test(){
		
		return SUCCESS;
	}

	public String getForward() {
		return "/"+forward;
	}

	public void setForward(String forward) {
		this.forward = forward;
	}
	
}



package action;

import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction1 extends ActionSupport implements ServletRequestAware,
		ServletResponseAware, SessionAware, ServletContextAware {

	private HttpServletRequest request;
	private HttpServletResponse response;
	private Map<String, Object> session;
	private ServletContext application;
	private HttpSession session2;

	private String name;
	private int age;
	private String remark;

	public String dispatcher() {

		remark = "转发到指定jsp";
		System.out.println("name=[" + name + "]");
		System.out.println("age=[" + age + "]");
		System.out.println("remark=[" + remark + "]");
		return "dispatcher";
	}

	public String redirect() {

		remark = "重定向到指定jsp";

		System.out.println("name=[" + name + "]");
		System.out.println("age=[" + age + "]");
		System.out.println("remark=[" + remark + "]");

		request.setAttribute("name", name);
		request.setAttribute("age", age);
		request.setAttribute("remark", remark);

		session2 = request.getSession();
		session2.setAttribute("name", name);
		session2.setAttribute("age", age);
		session2.setAttribute("remark", remark);

		/*
		 * session.put("name", name); session.put("age", age);
		 * session.put("remark", remark);
		 */

		return "redirect";
	}

	public String chain() {
		remark = "还在TestAction1";
		return "chain";
	}

	public String redirectAct() {
		remark = "还在TestAction1";
		return "redirectAction";
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public void setServletRequest(HttpServletRequest request) {
		this.request = request;
	}

	public void setServletResponse(HttpServletResponse response) {
		this.response = response;
	}

	public void setSession(Map<String, Object> session) {
		this.session = session;
	}

	public void setServletContext(ServletContext application) {
		this.application = application;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

}




package action;

import java.io.UnsupportedEncodingException;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction2 extends ActionSupport implements ServletRequestAware,
		ServletResponseAware, SessionAware, ServletContextAware {
	private HttpServletRequest request;
	private HttpServletResponse response;
	private Map<String, Object> session;
	private ServletContext application;

	private String remark;
	private String chain;

	public String dispatcher() {
		System.out.println("TestAction2.dispatcher()");
		System.out.println("remark=[" + remark + "]");
		remark = "转发到Action";
		chain = "chain到此一游";
		return "dispatcher";
	}

	public String redirect() {
		remark = "重定向Action";
		try {
			remark = java.net.URLEncoder.encode(remark, "utf-8");
			// remark = java.net.URLEncoder.encode(remark, "utf-8");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "redirect";
	}

	public void setServletRequest(HttpServletRequest request) {
		this.request = request;
	}

	public void setServletResponse(HttpServletResponse response) {
		this.response = response;
	}

	public void setSession(Map<String, Object> session) {
		this.session = session;
	}

	public void setServletContext(ServletContext application) {
		this.application = application;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getChain() {
		return chain;
	}

	public void setChain(String chain) {
		this.chain = chain;
	}

}




package action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;

import com.opensymphony.xwork2.ActionSupport;

import entity.Cat;
import entity.User;

public class UserAction extends ActionSupport implements ServletRequestAware,
		ServletResponseAware, SessionAware, ServletContextAware {

	private HttpServletRequest request;
	private HttpServletResponse response;
	private Map<String, Object> session;
	private ServletContext application;

	private User user;
	private String title;

	private List<Cat> cats = new ArrayList<Cat>();
	private Map<String, Cat> catMap = new HashMap<String, Cat>();

	public String login() {

		Cat m0 = new Cat("m0", "SSS", 20);
		Cat m1 = new Cat("m1", "AAA", 20);
		Cat m2 = new Cat("m2", "BBB", 20);

		Cat c0 = new Cat();
		c0.setName("c0");
		c0.setType("SSS");
		c0.setAge(10);
		c0.setMother(m0);

		Cat c01 = new Cat();
		c01.setName("c01");
		c01.setType("SSS");
		c01.setAge(5);
		c01.setMother(c0);

		Cat c02 = new Cat();
		c02.setName("c02");
		c02.setType("SSS");
		c02.setAge(6);
		c02.setMother(c0);

		Cat c03 = new Cat();
		c03.setName("c03");
		c03.setType("SSS");
		c03.setAge(7);
		c03.setMother(c0);

		c0.getChildren().add(c01);
		c0.getChildren().add(c02);
		c0.getChildren().add(c03);

		Cat c1 = new Cat();
		c1.setName("c1");
		c1.setType("AAA");
		c1.setAge(16);
		c1.setMother(m1);

		Cat c11 = new Cat();
		c11.setName("c11");
		c11.setType("AAA");
		c11.setAge(11);
		c11.setMother(c1);

		Cat c12 = new Cat();
		c12.setName("c12");
		c12.setType("AAA");
		c12.setAge(13);
		c12.setMother(c1);

		Cat c13 = new Cat();
		c13.setName("c13");
		c13.setType("AAA");
		c13.setAge(7);
		c13.setMother(c1);

		c1.getChildren().add(c11);
		c1.getChildren().add(c12);
		c1.getChildren().add(c13);

		Cat c2 = new Cat();
		c2.setName("c2");
		c2.setType("BBB");
		c2.setAge(19);
		c2.setMother(m2);

		Cat c21 = new Cat();
		c21.setName("c21");
		c21.setType("BBB");
		c21.setAge(15);
		c21.setMother(c2);

		Cat c22 = new Cat();
		c22.setName("c22");
		c22.setType("BBB");
		c22.setAge(4);
		c22.setMother(c2);

		Cat c23 = new Cat();
		c23.setName("c23");
		c23.setType("BBB");
		c23.setAge(16);
		c23.setMother(c2);

		c2.getChildren().add(c21);
		c2.getChildren().add(c22);
		c2.getChildren().add(c23);

		cats.add(c0);
		cats.add(c1);
		cats.add(c2);

		catMap.put("c0", c0);
		catMap.put("c1", c1);
		catMap.put("c2", c2);

		title = "登录成功";
		return "ognl";
	}

	public double sum(double a, double b) {
		return a * b;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public List<Cat> getCats() {
		return cats;
	}

	public void setServletRequest(HttpServletRequest request) {
		this.request = request;
	}

	public void setServletResponse(HttpServletResponse response) {
		this.response = response;
	}

	public void setSession(Map<String, Object> session) {
		this.session = session;
	}

	public void setServletContext(ServletContext application) {
		this.application = application;
	}

	public Map<String, Cat> getCatMap() {
		return catMap;
	}

}



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC 
  		"-//OpenSymphony Group//XWork Validator 1.0.2//EN" 
  		"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
  		
 <validators>
 	<field name="user.username">
 		<field-validator type="requiredstring">
 			<param name="trim">true</param>
 			<message>请输入用户名</message>
 		</field-validator>
 	</field>
 	
 	<field name="user.username">
 		<field-validator type="requiredstring">
 			<param name="trim">true</param>
 			<message>请输入用户密码</message>
 		</field-validator>
 	</field>
 </validators>

你可能感兴趣的:(struts2,跳转方式)