首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

struts2中怎么引用值栈中的对象

2012-08-25 
struts2中如何引用值栈中的对象在jsp页面是直接面向值栈操作,所以值栈的内容可以直接用名字来引用。值栈外

struts2中如何引用值栈中的对象
在jsp页面是直接面向值栈操作,所以值栈的内容可以直接用名字来引用。值栈外的如session就要用OGNL语法中的#来操作。
    对于值栈来说,struts2有专门的tag叫<s:property >来引用值栈内容,如下例:
<s:property value="artist.bio" />session是值栈外的(全局的,或称根级别),所以要用OGNL的#符号表达式来引用session里的对象,如<s:property value="#session['artistBio']" />
    可以先把一个变量级别升高成为全局,然后用#符号来引用值,那么用s:set标签来做,如


===》级别高了,不在值栈内就不能直接引用了。。。。。需要加#号
   假如想让对象不但级别高了(全局的)在整个session周期内持久,就要加上scope,如

   下面还有push标签,用来把对象放到值栈顶端:
那么<s:bean>这个标签,用来在页面实例化一个bean放在值栈中,它的生存周期就是到了</s:bean>为止就结束了,所以说假如要用<s:property>这个标签来引用该bean的属性的话,一定要在<s:bean>和</s:bean>标签之中用。如下面例子:
那么假如在bean标签之外引用呢,因为这时候这个bean的生命周期结束了,已经不在值栈内了,所以要用的话,需要事先在前面bean的声明地方加上一个变量声明,使其成为全局的对象,然后再像引用session变量那样的方式来引用它,如下例:

热点排行