我遇到了问题,我真的不知道为什么会这样,我对OGNL很新...
所以我有一个定义了一个tile的布局,另一个tile扩展了这个布局并放了一个键,用于显示该键的DB上的值,假设叫做keyName
,我想使用OGNL是这样的:
<s:label value="%{getText('%{keyName}')}"/>
但是显示keyName的推出值而不是DB的值...,如果我尝试对keyValue进行硬编码并且工作正常,例如:
<s:label value="%{getText('strWelcome')}"/>
这正确显示了数据库中密钥strWelcome
的值...
有关如何修复它的任何建议??
注意:我尝试使用keyName
之类的JSTL变量,但告诉我无法将动态值传递给getText()
。
答案 0 :(得分:2)
OGNL无法正常工作, 或不是 OGNL表达式,你不会说“这是一个OGNL表达式”然后在里面表达式说“哦,这是一个OGNL表达式”,你只需要做一次。
最终结果是这些可能是正确的表达式:
<s:label value="%{getText(keyName)}"/>
是一个值属性,我怀疑OGNL是假设的,所以这应该可行
<s:label value="getText(keyName)"/>
这假设变量“keyName”在操作范围内,如果它位于不同的范围内,您可能需要附加“#”,或者您可能更具体,有关访问不同范围的详细信息,请参阅:{{ 3}}