我一直试图找出解决方案几个小时但仍然失败:(
这是我的JSP上的简单div:
<div class="message" >
HELLO USER!
</div>
我希望它有这样的风格:
<div class="message" style="display : none;" >
HELLO USER!
</div>
但是这种样式依赖于来自Struts Action的列表对象大小,所以这个JSP是Action成功的结果。 我正在尝试smthg,只是为了测试注入值:
<s:set name="divStyle" value="display: none;" />
<div class="message" style="<s:property value="countyStyle" />" >
HELLO USER!
</div>
我试过了:
<s:set name="divStyle" value="<s:if test="elementsFromAction.size > 1" >display: none;</s:if>" />
<div class="message" style="<s:property value="divStyle" />" >
HELLO USER!
</div>
和
<div class="message" style="<s:if test="elementsFromAction.size > 1" >display: none;</s:if>" />" >
HELLO USER!
</div>
但它也不起作用:(
有人可以提出如何注射这种风格的建议吗? THX。
答案 0 :(得分:1)
试试这个
<div class="message" style="${elementsFromAction.size gt 1 ? 'display : none;' : ''}" >
HELLO USER!
</div>
答案 1 :(得分:1)
在<s:set/>
代码段中,您正在嵌套Struts标记,这是一个错误。
在您的上一个代码段中,有一个拼写错误:您正在使用/>
关闭未打开的代码。
从
更改<div class="message"
style="<s:if test="elementsFromAction.size > 1">display: none;</s:if>" />" >
HELLO USER!
</div>
到
<div class="message"
style="<s:if test="elementsFromAction.size > 1">display: none;</s:if>" >
HELLO USER!
</div>
答案 2 :(得分:0)
给出另一种解决方案。
将您的样式加载到数据bean中。
在页面onload
功能中,您可以处理它们并将它们翻译成您喜欢的内容。
当逻辑太复杂时可以避免一些麻烦。