博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
01_12_Struts2_访问Web元素
阅读量:4673 次
发布时间:2019-06-09

本文共 4729 字,大约阅读时间需要 15 分钟。

01_12_Struts2_访问Web元素

1. 配置struts.xml文件

<package name="login" namespace="/login" extends="struts-default">

<action name="login*" class="com.sumapay.action.LoginAction{1}">

<result>

/user_login_success.jsp

            </result>

</action>

</package>

2. 配置jsp页面

user_login.jsp

<body>

取得Map类型requestsessionapplication,真实类型HttpServletRequestHttpServletSessionServletContext的引用

<ol>

<li>

前三者:依赖于容器

</li>

<li>

前三者:IOC

</li>

<li>

后三者:依赖于容器

</li>

<li>

后三者:IOC

</li>

</ol>

<form name="f" action="" method="post">

用户名:<input type="text" name="name" />

密码:<input type="text" name="password" />

<br/>

<input type="button" value="submit1" οnclick="javascript:document.f.action='login/login1'; document.f.submit();" />

<input type="button" value="submit2" οnclick="javascript:document.f.action='login/login2'; document.f.submit();" />

<input type="button" value="submit3" οnclick="javascript:document.f.action='login/login3'; document.f.submit();" />

<input type="button" value="submit4" οnclick="javascript:document.f.action='login/login4'; document.f.submit();" />

</form>

</body>

user_login_success.jsp

<body>

<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:debug></s:debug>

</body>

3. 实现Action

3.1LoginAction1.java

package com.sumapay.action;

 

import java.util.Map;

 

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

 

public class LoginAction1 extends ActionSupport{

 

private String name;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

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() {

System.out.println("調用execute方法");

System.out.println("##############");

System.out.println(name);

request.put("r1", "r1");

session.put("s1", "s1");

application.put("a1", "a1");

return "success";

}

}

3.2LoginAction2.java

package com.sumapay.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.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 setApplication(Map<String, Object> application) {

this.application = application;

}

@Override

public void setSession(Map<String, Object> session) {

this.session = session;

}

@Override

public void setRequest(Map<String, Object> request) {

this.request = request;

}

}

 

3.3LoginAction3.java

package com.sumapay.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();

}

//DI dependency injection

//Ioc inverse of control

public String execute() {

request.setAttribute("r1", "r1");

session.setAttribute("s1", "s1");

application.setAttribute("a1", "a1");

return "success";

}

}

 

3.4LoginAction4.java

package com.sumapay.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();

}

//DI dependency injection

//Ioc inverse of control

public String execute() {

request.setAttribute("r1", "r1");

session.setAttribute("s1", "s1");

application.setAttribute("a1", "a1");

return "success";

}

}

 

转载于:https://www.cnblogs.com/flyback/p/8683931.html

你可能感兴趣的文章
08-图8 How Long Does It Take
查看>>
二维数组中最大连通子数组
查看>>
java 正则表达式-忽略大小写与多行匹配
查看>>
mac 上亚马逊密钥登录
查看>>
css选择器中:first-child与:first-of-type的区别
查看>>
nopcommerce 二次开发
查看>>
NHibernate入门实例
查看>>
IBM_DS5020磁盘阵列做raid、热备并把盘阵挂在服务器上的步骤
查看>>
svg制作风车旋转
查看>>
《软件工程》课堂作业:返回一个整数数组中最大字数组的和
查看>>
ACM 美素数 (没AC)
查看>>
Sqlserver学习研究
查看>>
VTK图形模型主要对象
查看>>
c# Linq实现 获得某一个路径下所有文件的名(不含扩展名)
查看>>
动静态广播的区别
查看>>
前缀式计算(前缀表达式)
查看>>
Linux常用命令大全
查看>>
添加删除tag
查看>>
ARM学习篇 中断定时理解
查看>>
卷积神经网络在tenserflow的实现
查看>>