第01步:编写bean类

  1. package com.self.bean;
  2.  
  3. import java.util.Date;
  4.  
  5. public class User {
  6. private Date birthday = null;
  7.  
  8. public Date getBirthday() {
  9. System.out.println("获得-User:" + birthday);
  10. return birthday;
  11. }
  12.  
  13. public void setBirthday(Date birthday) {
  14. System.out.println("设置-User:" + birthday);
  15. this.birthday = birthday;
  16. }
  17.  
  18. }

第02步:编写action类

  1. package com.self.action;
  2.  
  3. import javax.servlet.ServletContext;
  4. import javax.servlet.http.HttpServletRequest;
  5.  
  6. import org.apache.struts2.ServletActionContext;
  7.  
  8. import com.opensymphony.xwork2.ActionContext;
  9. import com.self.bean.User;
  10.  
  11. public class ThreeScopes {
  12.  
  13. private User lilan;
  14.  
  15. public ThreeScopes() {
  16. }
  17.  
  18. /**向3种范围加入值**/
  19. public String showdata() {
  20. /**方式01**/
  21. ActionContext ac= ActionContext.getContext();
  22. ac.put("request", "请求范围01");//向request范围加入值
  23. ac.getSession().put("session", "会话范围01");//向Session范围加入值
  24. ac.getApplication().put("app", "应用范围01");//向应用范围加入值
  25.  
  26. /**方式02**/
  27. ServletContext sc=ServletActionContext.getServletContext();//应用范围
  28. HttpServletRequest request=ServletActionContext.getRequest();//会话范围
  29. request.setAttribute("request2", "请求范围2");
  30. request.getSession().setAttribute("session2", "会话范围2");
  31. sc.setAttribute("app2", "应用范围2");
  32. return "tsuccess";
  33. }
  34.  
  35. public User getLilan() {
  36. return lilan;
  37. }
  38.  
  39. public void setLilan(User lilan) {
  40. this.lilan = lilan;
  41. }
  42.  
  43. }

第03步:配置struts.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5.  
  6. <struts>
  7. <constant name="struts.action.extension" value="do"/>
  8.  
  9. <package name="transform" namespace="/" extends="struts-default">
  10. <action name="list_*" class="com.self.action.ThreeScopes" method="{1}">
  11. <result name="tsuccess">
  12. /outdata.jsp
  13. </result>
  14. </action>
  15. </package>
  16. </struts>

第04步:编写访问action界面

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  2. <html>
  3. <body>
  4. <form action="list_showdata.do">
  5. <BR>
  6. <input type="submit" value="访问action,显示结果">
  7. </form>
  8. </body>
  9. </html>

第05步:编写数据显示界面

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  2. <html>
  3. <body>
  4. 访问不同范围属性值01:<BR>
  5. ${applicationScope.app }<BR>
  6. ${sessionScope.session }<BR>
  7. ${requestScope.request }<BR><BR><BR>
  8. 访问不同范围属性值02:<BR>
  9. ${applicationScope.app2 }<BR>
  10. ${sessionScope.session2 }<BR>
  11. ${requestScope.request2 }<BR>
  12. </body>
  13. </html>

struts不同session范围添加、访问属性的更多相关文章

  1. struts2视频学习笔记 15-17 (访问或添加request属性,文件上传)

    课时15 访问或添加request/session/application属性 1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的 ...

  2. Apache配置站点根目录、用户目录及页面访问属性

    一.配置站点根目录及页面访问属性 DocumentRoot "/www/htdoc" <Directory "/www/htdoc"> Option ...

  3. nodejs操作 mongoose(mongodb)和Sequelize(mysql)查询数据后添加新属性未生效

    最近在着手koa时候,发现mongoose(mongodb)查询数据库后添加新属性,前端拿不到新属性问题, 然后测试了一下Sequelize(mysql),发现也有同样的问题存在.此时着手干! 1.1 ...

  4. mybatis JdbcTypeInterceptor - 运行时自动添加 jdbcType 属性

    上代码: package tk.mybatis.plugin; import org.apache.ibatis.executor.ErrorContext; import org.apache.ib ...

  5. C++ 派生类成员的访问属性

    派生类成员的访问属性: C++继承方式总共分为以下几种:public.private.protected三种(它们直接影响到派生类的成员.及其对象对基类成员访问的规则).(1)public(公有继承) ...

  6. 使用Typescript重构axios(二十三)——添加withCredentials属性

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  7. 在 JavaScript 中,我们能为原始类型添加一个属性或方法吗?

    原始类型的方法 JavaScript 允许我们像使用对象一样使用原始类型(字符串,数字等).JavaScript 还提供了这样的调用方法.我们很快就会学习它们,但是首先我们将了解它的工作原理,毕竟原始 ...

  8. WPF整理-为User Control添加依赖属性

    依赖属性 ".NET properties are nothing more than syntactic sugar over set and get methods." 我们知 ...

  9. MVVM架构~knockoutjs系列之Mapping插件为对象添加ko属性

    返回目录 对于一个JS对象来说,如果希望将所有属性进行监视,在之前我们需要一个个对属性添加ko.observable方法,而有了Mapping插件后,它可以帮助我们这件事. 在Mapping出现之前 ...

随机推荐

  1. 后台获取前台runat=server的select的值

    <li> <asp:Label ID="Lpro" runat="server" Text="省份:" CssClass= ...

  2. C++控制程序只运行一个实例

    int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ...

  3. IIS是如何处理ASP.NET请求的

    每次服务器接受到请求,都要先经IIS处理.这不是一篇描述ASP.NE生命周期的文章,仅仅是关于IIS操作的.在我们开始之前,先了解这些会有助于对全文的理解,同时欢迎反馈和建议. 什么是Web Serv ...

  4. 探讨mvc下linq多表查询使用viewModel的问题

    最近在开发mvc3的时候发现了一个问题,就是如何在view页面显示多表查询的数据,最简单的办法就是使用viewmodel了,以下本人使用viewmodel来实现多表查询的3中方法, 先贴代码再说: 1 ...

  5. 完美解决 .txt文件在Mac上不能打开的问题

  6. c#中DropDownList控件绑定枚举数据

    c# asp.net 中DropDownList控件绑定枚举数据 1.枚举(enum)代码: private enum heros { 德玛 = , 皇子 = , 大头 = , 剑圣 = , } 如果 ...

  7. SQLSERER 中select排序问题

    SELECT  * FROM 表名 ORDER BY PageNO DESC 这种排序会排出这种效果:1, 11,2,20 select             *,              RIG ...

  8. XLST

    xlst转换 // 读入源请求和mapping配置 StreamSource xmlSource = new StreamSource(new InputStreamReader(new ByteAr ...

  9. oracle 条件语句的写法

    1.基本的if else DECLARE I ; BEGIN THEN DBMS_OUTPUT.PUT_LINE('TRUE'); ELSE DBMS_OUTPUT.PUT_LINE('FALSE') ...

  10. 详解OpenGL中的各种变换(投影变换,模型变换,视图变换)(完)——法线变换

    前面两节内容已经说完了所有的三种变换.也就是说我们现在程序里面既不需要glLookAt(),也不需要gluPerspective(),这些矩阵我们都可以自己写.然后,再用glMultMatrix()来 ...