struts2 访问web元素

来源:互联网 发布:知乎注册小号 编辑:程序博客网 时间:2024/05/18 02:15

index.jsp

<% String context = request.getContextPath(); %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030" /><title>Insert title here</title></head><body>取得Map类型request,session,application,真实类型 HttpServletRequest, HttpSession, ServletContext的引用:<ol>    <li>前三者:依赖于容器</li>    <li>前三者:IOC</li> (只用这种)    <li>后三者:依赖于容器</li>    <li>后三者:IOC</li></ol><br /><form name="f" action="" method="post">用户名:<input type="text" name="name"/>密码:<input type="text" name="password"/><br /><input type="button" value="submit1" onclick="javascript:document.f.action='login/login1';document.f.submit();" /><input type="button" value="submit2" onclick="javascript:document.f.action='login/login2';document.f.submit();" /><input type="button" value="submit3" onclick="javascript:document.f.action='login/login3';document.f.submit();" /><input type="button" value="submit4" onclick="javascript:document.f.action='login/login4';document.f.submit();" /></form>

user_login_success.jsp

<?xml version="1.0" encoding="GB18030" ?><%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%>    <%@taglib uri="/struts-tags" prefix="s" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030" /><title>Insert title here</title></head><body>    User Login Success!    <br />    <s:property value="#request.r1"/> | <%=request.getAttribute("r1") %> <br />    <s:property value="#session.s1"/> | <%=session.getAttribute("s1") %> <br />    <s:property value="#application.a1"/> | <%=application.getAttribute("a1") %> <br />    <s:property value="#attr.a1"/><br />    <s:property value="#attr.s1"/><br />    <s:property value="#attr.r1"/><br />    <s:debug></s:debug>    <br /></body></html>

struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>    <constant name="struts.devMode" value="true" />    <package name="login" extends="struts-default" namespace="/login">        <action name="login*" class="com.bjsxt.struts2.user.action.LoginAction{1}">            <result>/user_login_success.jsp</result>        </action>    </package></struts>

LoginAction1.java

package com.bjsxt.struts2.user.action;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction1 extends ActionSupport {    private Map request;    private Map session;    private Map application;    public LoginAction1() {        request = (Map)ActionContext.getContext().get("request");        session = ActionContext.getContext().getSession();        application = ActionContext.getContext().getApplication();    }    public String execute() {        request.put("r1", "r1");        session.put("s1", "s1");        application.put("a1", "a1");        return SUCCESS;     }}

LoginAction2.java

package com.bjsxt.struts2.user.action;import java.util.Map;import org.apache.struts2.interceptor.ApplicationAware;import org.apache.struts2.interceptor.RequestAware;import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {    private Map<String, Object> request;    private Map<String, Object> session;    private Map<String, Object> application;    //DI dependency injection    //IoC inverse of control    public String execute() {        request.put("r1", "r1");        session.put("s1", "s1");        application.put("a1", "a1");        return SUCCESS;     }    @Override    public void setRequest(Map<String, Object> request) {        this.request = request;    }    @Override    public void setSession(Map<String, Object> session) {        this.session = session;    }    @Override    public void setApplication(Map<String, Object> application) {        this.application = application;    }}

LoginAction3.java

package com.bjsxt.struts2.user.action;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction3 extends ActionSupport {    private HttpServletRequest request;    private HttpSession session;    private ServletContext application;    public LoginAction3() {        request = ServletActionContext.getRequest();        session = request.getSession();        application = session.getServletContext();    }    public String execute() {        request.setAttribute("r1", "r1");        session.setAttribute("s1", "s1");        application.setAttribute("a1", "a1");        return SUCCESS;     }}

LoginAction4.java

package com.bjsxt.struts2.user.action;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.interceptor.ServletRequestAware;import com.opensymphony.xwork2.ActionSupport;public class LoginAction4 extends ActionSupport implements ServletRequestAware {    private HttpServletRequest request;    private HttpSession session;    private ServletContext application;    public String execute() {        request.setAttribute("r1", "r1");        session.setAttribute("s1", "s1");        application.setAttribute("a1", "a1");        return SUCCESS;     }    @Override    public void setServletRequest(HttpServletRequest request) {        this.request = request;        this.session = request.getSession();        this.application = session.getServletContext();    }}
原创粉丝点击