set标签是将某个值放到指定范围内, 比如说 student.teacher.parent.age 每次访问这个属性不仅性能低,而且代码可读性很差,为了解决这个问题,可以将这个值设置为一个新值,并且放入指定范围内

set标签属性:

  1. name: 必填,重新生成的新变量的名字
  2. scope: 可选,指定新变量被放置的范围,该属性可以接受application、session、request、page或action 5个值。如果没有指定,默认是放置在Stack Context中。
  3. value: 可选,指定将赋给变量的值。如果没指定,则将ValueStack栈顶的值赋给新变量。
  4. var: 可选,指定该元素的引用ID,如果指定了将会将该值放在ValueStack中!

set标签用于生成一个新变量,并把该变量放置到指定的范围内,这样就允许直接使用JSP表达式语言来访问这些变量,也可以通过struts2标签来访问!

eg:

<!--使用param标签为JavaBean实例传入参数-->

<s:bean name="lee.Person" id="p">

<s:param name="name" value="'yeeku'"/>

<s:param name="age" value="29"/>

</s:bean>

将Stack Context中的p值放入默认范围内。<br>

<s:set value="#p" name="xxx"/>

<s:property value="#xxx.name"/> <br>

将Stack Context中的p值放入application范围内<br>

<s:set value="#p" name="xxx" scope="application"/>

<s:property value="#attr.xxx.name"/> <br>

将Stack Context中的p值放入session范围内<br>

<s:set value="#p" name="xxx" scope="session"/>

<!--使用JSP2.0表达式语言直接访问session中的属性-->

${sessionScope.xxx.name}<br>

取出集合中的值赋给<set标签>

<s:iterator id="dmsDocumentinfo" value="#request.dmsDocumentinfos">

 //从集合中取值赋给set声明的变量

  <s:set name="str" value="#dmsDocumentinfo.documentDesc"></s:set>

  //在页面显示set标签的值

  <s:property value="#str" />

</s:iterator>

赋常量的例子:
如果value中要赋的是常量,如果直接
<s:set name="page2" value="listMaterialEnt"  scope="session"> </s:set>
这样在页面中是访问不到listMaterialEnt这个字符串,怎么样才能赋这个字符串常量值呢?

加个单引号就搞定,如下:

<s:set name="page2" value="'listMaterialEnt'"  scope="session"> </s:set>

struts2 s:set标签的更多相关文章

  1. struts2 s:if标签以及 #,%{},%{#}的使用方法

    <s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session ...

  2. struts2 if正确标签示例

    下面总结一下struts2 中if标签的使用 (1)判断字符串是否为空 <s:if test="user.username==null or user.username==''&quo ...

  3. struts2 s:if标签以及 #,%{},%{#}的使用方法等在资料整理

    <s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session ...

  4. struts2<s:property />标签

    struts2的<property />标签是输出标签 其value属性是指定输出的内容,如果value属性没有写出来,则默认输出对象栈栈顶的元素. 例如,我们在对象栈中添加一个Perso ...

  5. Struts2的OGNL标签详解

    一.Struts2可以将所有标签分成3类: UI标签:主要用于生成HTML元素的标签. 非UI标签:主要用于数据库访问,逻辑控制等标签. Ajax标签:用于Ajax支持的标签. 对于UI标签,则有可以 ...

  6. 解决struts2中UI标签出现的问题: The Struts dispatcher cannot be found

    解决struts2中UI标签出现的问题: The Struts dispatcher cannot be found 异常信息: The Struts dispatcher cannot be fou ...

  7. struts2.0 s标签_小小鸟_百度空间

    struts2.0 s标签 1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type= ...

  8. J2EE进阶(三)struts2 <s:action>标签的用法

    J2EE进阶(三)struts2 <s:action>标签的用法 前言 使用action标签,可以允许在jsp页面中直接调用Action,(类似AJAX页面调用)在调用Action时候,可 ...

  9. struts2:数据标签

    目录 数据标签1. a标签2. set标签3. push标签4. bean/param标签5. date标签6. include标签7. url标签8. property标签9. debug标签10. ...

  10. Struts2之数据标签(二)

    Struts2之数据标签(一):http://blog.csdn.net/u012561176/article/details/46848817 1.action标签:使用此标签能够同意在JSP页面中 ...

随机推荐

  1. mysql-bin.000001

    今天发现/usr/local/mysql/var下很多mysql-bin.000001.mysql-bin.000002文件,GOOGLE之..这是数据库的操作日志,例如UPDATE一个表,或者DEL ...

  2. MySQL 一个库中表数量是否有限制?

    在网上找了一下,有说几乎没有限制的,也有说表多了肯定会影响性能的,综合起来应该讲: 1)一个库中表数是有限制的, 按照 UNSIGNED 类型,最多42亿多一点,正常应用根本达不到.   2)文件系统 ...

  3. appium+python自动化60-windows上同时启动多个appium服务,让多个android机器并行运行

    前言 做android自动化的时候,启动一个appium服务,只能匹配一个手机去自动化执行.有时候想同一套代码,可以在不同的手机上执行,测下app在不同手机上兼容性. 这就需要启动多个appium服务 ...

  4. Cocos2d-x3.2 TextureCache类异步载入功能解说

    本文TextureCache类异步载入功能的代码抽出,总共代码就200多行.感兴趣能够看看. 研究这个主要是由于项目中须要异步插入数据,但之前的方法在Android上总是崩溃所以想到TextureCa ...

  5. OpenCV特征点检测

    特征点检测 目标 在本教程中,我们将涉及: 使用 FeatureDetector 接口来发现感兴趣点.特别地: 使用 SurfFeatureDetector 以及它的函数 detect 来实现检测过程 ...

  6. iOS:本地数据库sqlite的介绍

    一.数据库的概念: 1..什么是数据库 SQL Server 2010.Oracle.MySQL 关系数据库 NoSQL数据库-非关系型数据库   数据库主要由表组成 表由字段组成 数据 就是表中的记 ...

  7. [转]DICOM医学图像处理:Deconstructed PACS之Orthanc

    转载:http://blog.csdn.net/zssureqh/article/details/41424027 背景: 此篇博文介绍一个开源的.基于WEB的DICOM Server软件.该开源软件 ...

  8. go语言基础之闭包捕获外部变量特点

    1.闭包捕获外部变量特点 示例: package main //必须 import "fmt" func main() { a := 10 str := "mike&qu ...

  9. Kotlin【简介】Android开发 配置 扩展

    重要资源 官方资源:官网 . 官网源码 .官网文档 . 在线 IDE .GitHub 中文资源:中文官网 .中文文档  离线文档:PDF 文件 . PDF 文件 GitBook 版 .ePUB 文件  ...

  10. Servlet学习笔记(一):生命周期

    一.Servlet 生命周期: Servlet 生命周期可被定义为从创建直到毁灭的整个过程.以下是 Servlet 遵循的过程:初始化——响应请求——终止——回收 Servlet 通过调用 init ...