<?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> <package name="user" namespace="/user" extends="struts-default"> <global-results> <result name="success">/success.jsp</result> </global-results> <action name="loginAction" class="action.LoginAction"> <result name="error">/index.jsp</result> </action> <action name="testAction" class="action.TestAction"> </action> <action name="testAction1" class="action.TestAction1"> </action> <action name="testAction2" class="action.TestAction2"> </action> <action name="testAction3" class="action.TestAction3"> </action> <action name="testAction4" class="action.TestAction4"> </action> </package> </struts>
package action; import com.opensymphony.xwork2.ActionSupport; import entity.User; public class LoginAction extends ActionSupport { private User user; public String login() { String r = "success"; if (null == user.getUserName() || "".equals(user.getUserName())) { addFieldError("error_name", "username is error!"); r = "error"; } else if (null == user.getPassword() || "".equals(user.getPassword())) { addFieldError("error_pwd", "password is error!"); r = "error"; } return r; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
package action; public class TestAction { public String test(){ System.out.println("test"); return null; } }
package action; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class TestAction1 extends ActionSupport { private Map<String, Object> request; private Map<String, Object> session; private Map<String, Object> application; @SuppressWarnings("unchecked") public String test() { request = (Map<String, Object>) ActionContext.getContext().get( "request"); session = ActionContext.getContext().getSession(); application = ActionContext.getContext().getApplication(); request.put("r1", "r1"); session.put("s1", "s1"); application.put("a1", "a1"); return SUCCESS; } }
package action; import java.util.Map; import org.apache.struts2.interceptor.ApplicationAware; import org.apache.struts2.interceptor.RequestAware; import org.apache.struts2.interceptor.SessionAware; import sun.org.mozilla.javascript.internal.ContextAction; import com.opensymphony.xwork2.ActionSupport; public class TestAction2 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware { private Map<String,Object> request; private Map<String,Object> session; private Map<String,Object> application; public String test(){ request.put("r1", "r11"); session.put("s1", "s11"); application.put("a1", "a11"); return SUCCESS; } public void setRequest(Map<String, Object> request) { this.request = request; } public void setSession(Map<String, Object> session) { this.session = session; } public void setApplication(Map<String, Object> application) { this.application = application; } }
package action; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class TestAction3 extends ActionSupport { private HttpServletRequest request; private HttpServletResponse response; private HttpSession session; private ServletContext application; public String test() { request = ServletActionContext.getRequest(); response = ServletActionContext.getResponse(); session = request.getSession(); application = ServletActionContext.getServletContext(); request.setAttribute("r1", "r111"); session.setAttribute("s1", "s111"); application.setAttribute("a1", "a111"); return SUCCESS; } }
package action; 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.util.ServletContextAware; import com.opensymphony.xwork2.ActionSupport; public class TestAction4 extends ActionSupport implements ServletRequestAware, ServletResponseAware, ServletContextAware { private HttpServletRequest request; private HttpServletResponse response; private HttpSession session; private ServletContext application; public String test() { session = request.getSession(); request.setAttribute("r1", "r1111"); session.setAttribute("s1", "s1111"); application.setAttribute("a1", "a1111"); return SUCCESS; } public void setServletRequest(HttpServletRequest request) { this.request = request; } public void setServletResponse(HttpServletResponse response) { this.response = response; } public void setServletContext(ServletContext application) { this.application = application; } }
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form action="user/loginAction!login" method="post"> username:<input type="text" name="user.userName"/><s:fielderror fieldName="error_name"></s:fielderror><br/> password:<input type="password" name="user.password" /><s:fielderror fieldName="error_pwd"></s:fielderror> <br/> <input type="submit" value="登录"/> <s:debug></s:debug> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'success.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <font color="red">${user.userName }</font>登录成功.... <br /> <font color="red"><s:property value="user.userName" /> </font>登录成功.... <br /> <font color="red"><s:property value="#request.user.userName" /> </font>登录成功.... <br /> <s:property value="#request.r1" /> <br /> <s:property value="#session.s1" /> <br /> <s:property value="#application.a1" /> <br /> <s:debug></s:debug> </body> </html>