我想在s:select中使用s:set变量
s:select
s:set
<s:set var="cityNY">NewYork</s:set> <s:select name="cities" list="#{'%{#cityNY}':'%{#cityNY}'}" required="true" />
上面的代码只是在我的页面中打印了相同的值-%{#cityNY}如果s:set变量在s:select标记的选项中,我想显示该值
%{#cityNY}
wsewodh21#
你需要直接把一个上下文变量放到OGNL表达式中,而不需要%{}。它将示例化一个Map。
%{}
<s:select name="cities" list="#{#cityNY:#cityNY}" required="true" />
list属性值可以包含OGNL表达式。默认情况下,它用于分析OGNL的值,而无需显式%{}。可以在OGNL表达式内部直接引用子表达式。#{exp1:exp2}是用于示例化Map的OGNL表达式。它内部包含子表达式。每个子表达式应返回单个值,而不是集合。因为它们用于创建键/Map的值对。如果使用相同的子表达式,最好使用以下代码示例化List
list
#{exp1:exp2}
Map
List
<s:select name="cities" list="{#cityNY}" required="true" />
它将生成一个HTML <select>标记,其中一个<option>具有相同的值和文本。如果需要更多选项,则应使用逗号向OGNL表达式添加值。您可以在我对OGNL/Struts2 JSP assigning bean to an object的回答中找到参考文档。
<select>
<option>
1条答案
按热度按时间wsewodh21#
你需要直接把一个上下文变量放到OGNL表达式中,而不需要
%{}
。它将示例化一个Map。list
属性值可以包含OGNL表达式。默认情况下,它用于分析OGNL的值,而无需显式%{}
。可以在OGNL表达式内部直接引用子表达式。#{exp1:exp2}
是用于示例化Map
的OGNL表达式。它内部包含子表达式。每个子表达式应返回单个值,而不是集合。因为它们用于创建键/Map的值对。如果使用相同的子表达式,最好使用以下代码示例化
List
它将生成一个HTML
<select>
标记,其中一个<option>
具有相同的值和文本。如果需要更多选项,则应使用逗号向OGNL表达式添加值。
您可以在我对OGNL/Struts2 JSP assigning bean to an object的回答中找到参考文档。