1.   6. 问题六: JSP中获取值栈的数据
  2. * 总结几个小问题:
  3. > 访问root中数据 不需要#
  4. > 访问context其它对象数据 #
  5. > 如果向root中存入对象的话,优先使用push方法。
  6. > 如果向root中存入集合的话,优先要使用set方法。
  7. * OgnlContext中获取数据
  8. > Action中向域对象中存入值
  9. > request:<s:property value="#request.username"/>
  10. > session:<s:property value="#session.username"/>
  11. > application:<s:property value="#application.username"/>
  12. > attr:<s:property value="#attr.username"/>
  13. > parameters:<s:property value="#parameters.cid"/>
  14. 6.1 代码如下
  15. <!--
  16. // vs.push("美美");这句代码在action中写
  17. // 获取到栈顶的值
  18. <s:property value="[0].top"/>这句代码在jsp中写的。方括号里面的值为从root栈中的第几个位置开始读,一直读到最后。
  19. -->
  20. <!--
  21. // 栈顶是map集合,通过key获取值
  22. vs.set("msg", "小凤");
  23. <s:property value="[0].top.msg"/>
  24. -->
  25. <!--
  26. vs.push(user);
  27. // 栈顶放user对象
  28. <s:property value="[0].top.username"/>
  29. <s:property value="[0].top.password"/>
  30. // [0].top 关键字是可以省略的 findValue()
  31. <s:property value="username"/>
  32. -->
  33. <!--
        User user=new User();
        user.setusername("zhangsan");
        user.setpassword("123");
        vs.set("user", user);
  34. <s:property value="[0].top.user.username"/>
  35. <s:property value="[0].top.user.password"/>
  36. // 省略关键字,如果想要获取的元素本来就是栈顶元素的时候,可以省略前面的[0].top
  37. <s:property value="user.username"/>
  38. -->
  39. <!--
  40. // 在ValueStack1Action提供了成员的属性
  41. private User user = new User("小泽","456");
  42. public User getUser() {
  43. return user;
  44. }
  45. public void setUser(User user) {
  46. this.user = user;
  47. }
  48. User user = new User("小苍","123");
  49. vs.set("user", user);
  50. // 从栈顶开始查找,找user的属性,显示名称 返回的小苍
  51. <s:property value="user.username"/>
  52. // [1].top获取ValueStack1Action [1].top.user返回user对象 [1].top.user.username获取对象的属性名称
  53. <s:property value="[1].top.user.username"/>
  54. -->
  55. <!--
  56. 栈顶是list集合
  57. vs.push(ulist);
  58. <s:property value="[0].top[0].username"/>
  59. <s:property value="[0].top[1].username"/>
  60. -->
  61. <!--
  62. vs.set("ulist", ulist);
  63. <s:property value="ulist[0].username"/>
  64. -->
  65. <!-- 迭代的标签
  66. 属性
  67. * value 要迭代的集合,需要从值栈中获取
  68. * var 迭代过程中,遍历的对象
  69. * var编写上,把迭代产生的对象默认压入到context栈中,从context栈取值,加#号
  70. * var不编写,默认把迭代产生的对象压入到root栈中
  71. for(User user:ulist){}
  72. // 编写var的属性
  73. <s:iterator value="ulist" var="u">
  74. <s:property value="#u.username"/>加了#存到了context
  75. <s:property value="#u.password"/>
  76. </s:iterator>
  77. // 没有编写var关键字
  78. <s:iterator value="ulist">
  79. <s:property value="username"/>没有加#存到了root
  80. <s:property value="password"/>
  81. </s:iterator>
  82. -->
  83. <!-- context栈中获取值,加#号
  84. HttpServletRequest request = ServletActionContext.getRequest();向context中存储值,就是向域中存储值
  85. request.setAttribute("msg", "美美");
  86. request.getSession().setAttribute("msg", "小风");
  87. <s:property value="#request.msg"/>
  88. <s:property value="#session.msg"/>
  89. <s:property value="#parameters.id"/>
  90. <s:property value="#attr.msg"/>
  91. -->
  92. <!-- JSP页面上,查看值栈的内部结构 -->
  93. <s:debug></s:debug>

struts框架问题六之从值栈中获取值的更多相关文章

  1. Struts2_day03--课程安排_OGNL概述入门_什么是值栈_获取值栈对象_值栈内部结构

    Struts2_day03 上节内容 今天内容 OGNL概述 OGNL入门案例 什么是值栈 获取值栈对象 值栈内部结构 向值栈放数据 向值栈放对象 向值栈放list集合 从值栈获取数据 获取字符串 获 ...

  2. Struts2-从值栈中获取数据-EL表达式从值栈获取

    从值栈获取数据 1 使用struts2的标签+ognl表达式获取值栈数据 (1)<s:property value=”ognl表达式”/> 获取字符串

  3. struts框架值栈问题七之EL表达式也会获取到值栈中的数据

    7. 问题七:为什么EL也能访问值栈中的数据? * StrutsPreparedAndExecuteFilter的doFilter代码中 request = prepare.wrapRequest(r ...

  4. 关于struts值栈的总结,前端页面如何使用标签取得值栈中的数据

    用户提交一次请求的执行过程 总结: struts值栈中 两个内容 一个是栈 一个是map 值栈(数据中心)的范围是一个请求 它代替了request作用域 struts自定义标签有一个特点 比如遍历集合 ...

  5. 通常Struts框架会自动地从action mapping中创建action对象

    开发者不必在Spring中去注册action,尽管可以这么去做,通常Struts框架会自动地从action mapping中创建action对象 struts2-spring-plugin-x-x-x ...

  6. 在action中将字符串、对象、list集合保存到值栈中,在jsp页面中获取的方法

    转自:csdn 封装对象User,属性有id,username,email等1.1:在action中将字符串保存到值栈中   1.1.1 获取值栈对象         ValueStack stack ...

  7. Struts2-向值栈中存放数据

    1.第一种 获取值栈对象,调用值栈对象里面的set方法(该方法添加的是一个Map集合) //第一种方式,使用值栈对象获取对象里面的set方法 //1.获取值栈对象 ActionContext cont ...

  8. SpringMVC从Session域中获取值

    SpringMVC从Session域中获取值 SpringMVC环境自行搭建 第一步:前端页面 第二步.后台代码 第三步.响应视图 第四步.在当前处理器所在的类设置@SessionAttributes ...

  9. struts框架问题五之向值栈中保存数据

    5. 问题五: 向值栈保存数据 (主要针对root栈) > valueStack.push(Object obj); * push方法的底层调用root对象的push方法(把元素添加到0位置) ...

随机推荐

  1. Spark JDBC入门测试

    spark jdbc分支源码下载地址 https://github.com/apache/spark/tree/branch-1.0-jdbc 编译spark jdbc  ./make-distrib ...

  2. sorted()&enumerate()

    d = {1:2,3:1,44:5,4:5,7:8}l = d.items() #转换为列表print(l)  # dict_items([(1, 2), (3, 1), (44, 5), (4, 5 ...

  3. 用深度学习LSTM炒股:对冲基金案例分析

    英伟达昨天一边发布“全球最大的GPU”,一边经历股价跳水20多美元,到今天发稿时间也没恢复过来.无数同学在后台问文摘菌,要不要抄一波底嘞? 今天用深度学习的序列模型预测股价已经取得了不错的效果,尤其是 ...

  4. 常用模块:hashlib,subprocess,configparser。

    一  hashlib模块 那么我们前面学习数据类型的时候,也讲了hash,可变类型不可hash:不可变类型可hash. 我们知道hash是一种算法,接收传入的内容经过运算之后得到一个hash值,我们可 ...

  5. ORA:01745 无效的主机 绑定变量名

    原因是:mybatis中的mapping映射时,sql语句中忘了加逗号,且逗号处有换行

  6. Spring AOP课程实战

  7. linux更换shell外壳zsh

    linux-外壳内核与shell的关系 内核处于外壳之中,通过外壳与shell(命令行)交互 外壳可以更换 ############################################## ...

  8. 网页向flash传参数。显示视频。(例子)

    [例子1]网页向flash传参数,显示视频: 下面要做的事情:做一个flash文件,可以通过网页得到参数(视频文件名).然后显示视频,并在文本框中显示视频文件名的文字. 1.建立一个flash文件:3 ...

  9. CUDA C Programming Guide 在线教程学习笔记 Part 11

    ▶ 数学函数 ● 舍入函数,考虑被舍入参数有双精度浮点和单精度浮点,舍入方式有区别,舍入结果有整形.长整形和长长整形,所以共有以下舍入函数. // math_functions.h extern __ ...

  10. [PHP]用户登陆中间件

    Laravel 4中,可以使用Route::filter,而在Laravel 5中,没有了filter.php文件,官方建议使用中间件做. 下面是用户登陆的测试例子,涉及到的一些方法和使用,先参见这里 ...