基于JSP上选择项中Action的参数注入样式属性



我已经试着找出解决方案好几个小时了,但还是失败了:(

在我的JSP上有一个简单的div:

<div class="message" >
    HELLO USER!
</div>

我希望它有这样的风格:

<div class="message" style="display : none;" >
    HELLO USER!
</div>

但是这种风格依赖于StrutsAction中的列表对象大小,所以这个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。

<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>

试试这个

<div class="message" style="${elementsFromAction.size gt 1 ? 'display : none;' : ''}" >
    HELLO USER!
</div>

给出另一个解决方案。

将您的样式加载到数据bean中。

在页面onload函数中,您可以处理它们并将它们翻译成您喜欢的内容。

这可以避免逻辑过于复杂时的一些麻烦。

最新更新