我是struts2的新手,对'#','%'和'$'元素感到困惑。有一些用法如下:
${user.name}
%{user.name}
<s:radio list="#{key1:value1,key2:value2}" />
有人可以给我一个解释和例子吗?
答案 0 :(得分:4)
简单地说就是
如果在jsp页面中有$ {user.name},则它是一个EL表达式。 如果是struts.xml中的$ {user.name},则它是一个OGNL表达式。
如果在jsp页面中有%{user.name},则它是一个OGNL表达式。
最后,#{key1:value1,key2:value2}是一个OGNL表达式,它意味着创建一个映射,将key1映射到value1,将key2映射到value2。
BTW:#{key1:value1,key2:value2}应该包含在%{}中,例如%{#{key1:value1,key2:value2}},但是,struts2标记中的某些属性将假定为OGNL表达式,这意味着没有%{}就可以了。