4.访问web元素[1],容器获取
2015-10-16 15:18
495 查看
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="login" namespace="/login" extends="struts-default">
<action name="login*"
class="com.example.struts.action.LoginAction{1}">
<result >
/success.jsp
</result>
</action>
</package>
</struts>
LoginAction1
package com.example.struts.action;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction1 extends ActionSupport{
private Map request; //类型是Map=【key】加【value】的组合
private Map session;
private Map application;
public LoginAction1(){ //必须加上public,否则在action调用该类时不可以执行该构造函数
request=(Map)ActionContext.getContext().get("request");
//ActionContext.getContext(),获取当前环境
session= ActionContext.getContext().getSession();
application= ActionContext.getContext().getApplication();
}
public String execute() {
request.put("r1", "r1"); //(key,value)
session.put("s1", "s1");
application.put("a1","a1");
return SUCCESS;
}
}
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登陆页面</title>
</head>
<body>
<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();"/>
// onClick="指定传入action"
</form>
</body>
</html>
success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>登陆成功</title>
</head>
<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>
//#application.a1意思是
//必须加#才可以访问
也就是<%=request.getAttribute("r1")
%>也有值。
<s:debug></s:debug>
</body>
</html>
------------------------------------------------------------------------------------------------------------
运行结果:
![](http://img.blog.csdn.net/20151016151734779?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
-----------------------------------
原来说明:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="login" namespace="/login" extends="struts-default">
<action name="login*"
class="com.example.struts.action.LoginAction{1}">
<result >
/success.jsp
</result>
</action>
</package>
</struts>
LoginAction1
package com.example.struts.action;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction1 extends ActionSupport{
private Map request; //类型是Map=【key】加【value】的组合
private Map session;
private Map application;
public LoginAction1(){ //必须加上public,否则在action调用该类时不可以执行该构造函数
request=(Map)ActionContext.getContext().get("request");
//ActionContext.getContext(),获取当前环境
session= ActionContext.getContext().getSession();
application= ActionContext.getContext().getApplication();
}
public String execute() {
request.put("r1", "r1"); //(key,value)
session.put("s1", "s1");
application.put("a1","a1");
return SUCCESS;
}
}
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登陆页面</title>
</head>
<body>
<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();"/>
// onClick="指定传入action"
</form>
</body>
</html>
success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>登陆成功</title>
</head>
<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>
//#application.a1意思是
//Stack Context
//These items are available using the #key notation//必须加#才可以访问
Stack Context的内容
//web也可以访问,原因是把struts的内容也复制到了web中。也就是<%=request.getAttribute("r1")
%>也有值。
<s:debug></s:debug>
</body>
</html>
------------------------------------------------------------------------------------------------------------
运行结果:
-----------------------------------
原来说明:
相关文章推荐
- Ruby正则表达式
- Nutch2.3 + Mysql(错误解决方案)
- OpenSessionInViewFilter 的配置及作用
- IMCP网际控制协议
- 鼎虎,信息化的新航程
- AppCan三步教你玩转APP开发
- 利用jQuery和CSS将背景图片拉伸
- Nginx搭建反向代理服务器
- fushionchart的Pie3D的具体使用方法
- python中文件OS模块访问函数
- Lync Server 2010标准版前端服务器迁移之二:迁移用户及中央管理存储
- NET-JAVA 六--------- 匿名类、内部类、
- 测试分类
- android wifi
- 3.简单的数据校验
- Ruby模块Module
- process launch failed: Security
- Matlab 周期方波信号傅里叶级数展开
- jquery获取html元素的绝对位置和相对位置
- C语言程序判断文件夹是否存在