Strut2 ognl取出存放在request,session,application和对象栈的中的值
1.取出request,session,applicaiton中的值
a.往里面加入request,session,application中加入值
public String testServlet(){
ServletActionContext.getRequest().setAttribute("request_username", "username");
ActionContext.getContext().getSession().put("session_username", "username");
ServletActionContext.getServletContext().setAttribute("application_username","username");
return "servlet";
}
取值:
输出request,session,application域中的值,由于访问的是map,所以要加个#号<br>
request的值:<s:property value="#request.request_username" /><br>
session的值:<s:property value="#session.session_username" /><br>
application的值:<s:property value="#application.application_username" /><br>
2.用valuestack中的对象栈的set方法存放的数据,把对象封装成一个hashmap,放入栈顶
a.放值
public String testValueStack_Set(){
ValueStack valueStack = ActionContext.getContext().getValueStack();
valueStack.set("msg", "message");
return "value_stack_set";
}
b.取值
输出valuestack的set方法存放的数据,实际输出的是栈顶的数据<br>
<s:property value="msg"/><br>
3. 在person,student和ognlAction中同时有commit,测试页面会输出栈中第一个commit,也就是OgnlAction中的commit
a.放值,用add方法放
public String testValueStack_Deep(){
Person person=new Person();
person.setAge(new Integer(1));
person.setName("person");
person.setCommit("person");
Student student=new Student();
student.setAge(2);
student.setName("student");
student.setCommit("student");
ValueStack valueStack = ActionContext.getContext().getValueStack();
CompoundRoot root = valueStack.getRoot();
root.add(person);
root.add(student);
return "valueStack_deep";
}
取值:
在person,student和ognlAction中同时有commit,测试页面会输出栈中第一个commit,也就是OgnlAction中的commit
<s:property value="commit"/>
4.在对象栈中person对象作为key,利用set方法存放在对象栈的栈顶,取出它的name属性
a.存放数据
public String testObjectToRoot_Set(){
Person person=new Person();
person.setAge(new Integer(1));
person.setName("person");
person.setCommit("person");
ValueStack valueStack = ActionContext.getContext().getValueStack();
valueStack.set("person", person);
return "root_set";
}
b.取出数据
<s:property value="person.name" /><br>
5.构造map,在页面上构造map
构造map:<br>
<!--
这个标签对应的html代码
<input type="radio" id="fool" value="fool"/><label for="fool">bool</label>
<input type="radio" id="foo2" value="foo2"/><label for="foo2">boo2</label>
从上面可以看出,map中key相当于radio中的value和id,map中的value相当于页面上显示的值
-->
<s:radio list="#{'fool':'bool','foo2':'boo2' }"></s:radio><br>
6.构造map,在后台构造map,然后存放在request域中,在页面取出来
a.构造map,放入request域中
public String testMap_Request(){
Map<String,String> map=new HashMap<String, String>();
map.put("male", "男");
map.put("girl","女");
ServletActionContext.getRequest().setAttribute("map", map);
return "map_request";
}
b.在页面取出来
从request域中获取map<br>
<s:property value="#request.map.male"/><br>
7.用put方法保存map至context中的map
a.存放map
public String testMap_Put(){
ActionContext context = ActionContext.getContext();
Map<String,String> map=new HashMap<String, String>();
map.put("male", "男");
map.put("girl","女");
context.put("map",map);
return "map_put";
}
b.取出map中的数据
从map中取出利用put方法存放的map<br>
<s:property value="#map.male"/><br>
8.把一个字符串放到request域中,然后用%输出
a.存放数据
public String testRequest_Percent(){
ServletActionContext.getRequest().setAttribute("request_username","username");
return "request_percent";
}
b.取出数据
利用%输出request域中的内容<br>
<s:textfield name="username" label="%{#request.request_username}"></s:textfield><br>
Strut2 ognl取出存放在request,session,application和对象栈的中的值的更多相关文章
- request,session,application
JSP 的3个内置对象request,session,application,其实都有一个作用域,这些对象内部有一个Map成员用于存放数据,比如session对象的setAttribute(key,v ...
- struct2访问或添加request/session/application
访问或添加request/session/application 1 通过ActionContext //这样放置 public String execute() { ActionConte ...
- request, session, application辨析(待更新)
作用域 request < session < application 分析 1. request 只在一次请求中有效,当请求发送变化时,信息将失效. 2. session 在当前一次会话 ...
- Struts2里如何取得request,session,application
第一种:取得MAP类型的request,session,application在java文件里写 package com.xjtu.st; import java.util.Map; import c ...
- page,request,session,application四个域对象的使用及区别
转自:page,request,session,application四个域对象的使用及区别 1.page指当前页面.只在一个jsp页面里有效 .2.request 指从http请求到服务器处理结束, ...
- JavaWeb -pageContext/request/session/application
pageContext/request/session/application总结 一.范围差异 1. pageContext jsp页面容器 当前页面有效 2. request 请求对象 同一次请求 ...
- Struts2初学 Struts2在Action获取内置对象request,session,application(即ServletContext)
truts2在Action中如何访问request,session,application(即ServletContext)对象???? 方式一:与Servlet API解耦的方式 可以使用 ...
- struts2标签获取parameter,request,session,application中的值
http://localhost:8080/demo/index.jsp?flag=kkkk <s:property value="#parameters.flag" /&g ...
- struts2 action中获取request session application的方法
共四种方式: 其中前两种得到的是Map<String,Object> 后两种得到的才是真正的request对象 而Map就是把request对象中的属性取出做成了键值对而已. [方法一] ...
随机推荐
- [label][paypal] Paypal 支付页面的语言显示问题
答复 Frank 通过 Email2014-11-12 02:01 上午 您好 感谢您联系PayPal商家技术支持中心. PayPal登陆页面的语言是PayPal服务器根据以下各种因素来自动判断的:1 ...
- C#Encoding
1.Encoding (1).如何生成一个Encoding即一种编码 Encoding位于System.Text命名空间下,是一个抽象类,它的派生类如下图: 要实例化一个Encoding一共有以下两种 ...
- WPF 分享一种设置程序保存配置文件的方法
最近需要做一个配置程序,主要给其他程序做相关配置的小工具. 配置项蛮多的,一般我们都是将各个配置项写到配置文件的节点中,比如App.config文件或者自定义的xml文件. 因为我用的是wpf,MVV ...
- SpringMvc-ModelAndView 结果出不来 显示路径问题 解决办法
今天写SpringMVC的时候 写ModelAndView的时候 死活跳不过页面去-一直报错 显示路径也错误 查看导包问题 应该: import org.springframework.web.se ...
- static修饰的方法不能被重写可以被继承
今天我们谈谈为什么抽象类中不能有静态的抽象方法以及static修饰的方法不能被重写可以被继承 1 static修饰的方法不能被重写可以被继承我们知道static修饰的方法为静态方法,可以直接使用类名. ...
- 一篇文章搞懂Linux安全!
Linux是开放源代码的免费正版软件,同时也是因为较之微软的Windows NT网络操作系统而言,Linux系统具有更好的稳定性.效率性和安全性. 在Internet/Intranet的大量应用中,网 ...
- AngularJS入门讲解2:过滤器和双向绑定
我们在上一课做了很多基础性的训练,接下来,我们讲一些难点的知识点,首先,讲一下如何实现一个全文检索功能: <html ng-app> <head> ... <script ...
- winserver2008安装tomcat+mysql+httpd+redis环境
1. 装tomcat和jdk http://www.cnblogs.com/SHI520/p/4546849.html 2. 安装mysql5.7 https://www.jb51.net/a ...
- linux安装spark-2.3.0集群
(安装spark集群的前提是服务器已经配置了jdk并且安装hadoop集群(主要是hdfs)并正常启动,hadoop集群安装可参考<hadoop集群搭建(hdfs)>) 1.配置scala ...
- Python内置函数查询表——总结篇
Python3.5版本中的68个内置函数,按顺序逐个进行了自认为详细的解析,现在是时候进行个总结了.为了方便记忆,将这些内置函数进行了如下分类: 数学运算(7个) 类型转换(24个) ...