'#','%' 之间的差异 和'$'

发布于 2024-07-21 07:05:53 字数 178 浏览 6 评论 0原文

我是 struts2 的新手,对“#”、“%”和“$”元素感到困惑。 有一些用法,例如:

${user.name}
%{user.name}
<s:radio list="#{key1:value1,key2:value2}" />

能给我一个解释和例子吗?

I'm new to struts2 and confused by the '#','%' and '$' element. There are some usages like:

${user.name}
%{user.name}
<s:radio list="#{key1:value1,key2:value2}" />

Could any give me an explanation and examples?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溺渁∝ 2024-07-28 07:05:53

简单来说,

如果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 表达式,即表示没有 %{} 也可以。

To put it simply

If ${user.name} in jsp page, it is an EL expression.
If ${user.name} in struts.xml, it is an OGNL expression.

If %{user.name} in jsp page, it is an OGNL expression.

Final, #{key1:value1,key2:value2} is an OGNL expression, it means creates a map that maps the key1 to the value1 and key2 to the value2.

BTW: #{key1:value1,key2:value2} should be wrap in %{}, like %{#{key1:value1,key2:value2}}, however, some attributes in struts2 tags will assume that is OGNL expression, that means without %{} is OK.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文