gpt4 book ai didi

java - 使用Struts2 :set variables with getText()

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:36 26 4
gpt4 key购买 nike

将 Struts2 与 JSP 结合使用。下面的代码工作正常:

<s:if test="foo == bar">
<s:set var="keyValue">message.string1</s:set>
</s:if>
<s:else>
<s:set var="keyValue">message.string2</s:set>
</s:else>

<s:text name="%{keyValue}"/>

即基于 keyValue 的值, message.string1message.string2从资源文件中查找并正确输出到生成的 HTML 页面。

但是,正如 Struts tag documentation 底部所解释的那样,对于属性值中的 i18n,我不能使用 Struts 文本标记,而是必须使用 getText('...') :

<s:submit value="getText('message.string1')" ../>

问题是,我无法获取%{keyValue}在上面解决了getText()调用,无论我尝试什么语法:getText('%{keyValue}') , getText(%{keyValue}) , getText(keyValue) , getText('keyValue')它最终被评估为空。这是我的语法错误还是根本无法完成?如果有必要,我知道我可以继续使用 <s:if><s:else>每个下面都有一个提交标签:

<s:if test="foo == bar">
<s:submit value="getText('message.string1')" ../>
</s:if>
<s:else>
<s:submit value="getText('message.string2')" ../>
</s:else>

...但我想尽可能避免重复。

最佳答案

虽然很简单keyValue在大多数情况下都有效,最好添加前缀 var <s:set> 的值标记为 # 。您应该只使用一对 %{}围绕整个表达式。

<s:submit value="%{getText(#keyValue)}" />

关于java - 使用Struts2 :set variables with getText(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37887686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com