zoukankan      html  css  js  c++  java
  • s:set标签

       set标签是将某个值放到指定范围内, 比如说 student.teacher.parent.age 每次访问这个属性不仅性能低,而且代码可读性很差,为了解决这个问题,可以将这个值设置为一个新值,并且放入指定范围内
    name 是必填属性,是重新生成的新变量的名字
    scope 可选属性,指定新变量被放置的范围,可以接受application,session,request,page,action 这5个值 没有指定默认是Stack Context中
    value 可选属性,指定变量的值 如果没有指定,使用ValueStack栈顶的值赋给新变量
    id 可选属性,指定新元素的引用ID

    下面是个例子:

    <!-- 使用bean标签定义一个javaBean实例--!>
    <s:bean name="lee.Person" id="p">
    <s:param name="name" value="zhangsan"/>
    <s:param name="age" value="29"/>
    </s:bean>
    将p放入默认范围内
    <s:set value="#p" name="test"/>
    <s:property value="#test.name"/> <br>
    <s:property value="#test.age"/> <br>
    将p放入application范围内。
    <s:set value="#p" name="test" scope="application"/>
    <s:property value="#attr.test.name"/> <br>
    <s:property value="#attr.test.age"/> <br>
    将p放入session范围内。
    <s:set value="#p" name="test" scope="session"/>
    ${sessionScope.test.name} <br>

    赋的值如果是一个表达式,基本都会,我看了楼上的各种回答,清一色的都是赋的表达式,都没有赋常量的例子,
    我现在也补充一个,如果value中要赋的是常量,如果直接
    <s:set name="page2" value="listMaterialEnt"  scope="session"> </s:set>
    这样在页面中是访问不到listMaterialEnt这个字符串,怎么样才能赋这个字符串常量值呢?加个单引号就搞定,这个也是我研究了半天才研究出来,如下:
    <s:set name="page2" value="'listMaterialEnt'"  scope="session"> </s:set>

  • 相关阅读:
    js创建map
    [POJ 1911] 棋盘
    [POJ 2176] Folding
    [POJ 1014] Dividing
    [洛谷P3486]POI2009 KON-Ticket Inspector
    [洛谷P1131] ZJOI2007 时态同步
    [洛谷P1133] 教主的花园
    [洛谷P1095]NOIP2007 普及组T3 守望者的逃离
    [POJ1187] 陨石的秘密
    [POJ1772] Substract
  • 原文地址:https://www.cnblogs.com/pppower/p/6120292.html
Copyright © 2011-2022 走看看