日期:2014-05-17  浏览次数:20638 次

sturts2标签加不加#号的区别
我习惯这么用:<s:property value="model[0].leg_value"></s:property>
但是今天在做一个东西的时候必须得这么写才能迭代出东西<s:property value="#model[0].leg_value"></s:property>
问下高手,加不加#号有什么区别

------解决方案--------------------
加#号的作用是去栈中找这个属性,request , session , application一个一个找
------解决方案--------------------
简单的说, #是访问ognlContext中的对象, 而不加#是在ValueStack中搜寻栈中对象的属性。
例如<s:property name="#session" /> 是在OgnlContext中获取session。
而<s:property name="userName" />是在ValueStack中的对象中从栈顶往下依次搜寻对象中的userName属性,一旦找到立马返回

------解决方案--------------------
探讨
我习惯这么用:<s:property value="model[0].leg_value"></s:property>
但是今天在做一个东西的时候必须得这么写才能迭代出东西<s:property value="#model[0].leg_value"></s:property>
问下高手,加不加#号有什么区别