Jsp 使用Struts2更改页面的行为

Jsp 使用Struts2更改页面的行为,jsp,struts2,Jsp,Struts2,我正在用Struts2写一个网页 我的需要是仅当操作类(即sectionHidden)的布尔属性设置为false时才在表中显示行。为此,我编写了以下代码: 这是章节标题 我认为这不是最好的方法,还有其他更好的方法吗?(我希望避免编写两次与tr相关的html代码)嗯。。。只使用一个怎么样 这是章节标题 嗯。。。只使用一个怎么样 这是章节标题 您可以使用提供的struts2测试任何值,如果标签如下所示 <s:if test="anyBooleanValue"> I am ret

我正在用Struts2写一个网页

我的需要是仅当操作类(即
sectionHidden
)的布尔属性设置为
false
时才在表中显示行。为此,我编写了以下代码:


这是章节标题

我认为这不是最好的方法,还有其他更好的方法吗?(我希望避免编写两次与
tr
相关的html代码)

嗯。。。只使用一个怎么样


这是章节标题

嗯。。。只使用一个怎么样


这是章节标题

您可以使用提供的struts2测试任何值,如果标签如下所示

<s:if test="anyBooleanValue">
 I am returning TRUE.<br/>
 </s:if>
 <s:else>
 I am returning FALSE.<br/>
 </s:else>

 <!-- For String Value -->
 <s:if test="%{myStringValue!=null}">
 String is not null<br/>
 </s:if>
 <s:elseif test="%{myStringValue==null}">
 String is null<br/>
 </s:elseif>
 <s:else>
 String is null<br/>
 </s:else>

 <!-- For Object Value -->
 <s:if test="%{checkArrayList.size()==0}">
 Object Size is Zero<br/>
 </s:if>
 <s:else>
 Object Size is not a Zero<br/>
 </s:else>

我返回的是真的。
我返回FALSE。
字符串不是空的
字符串为空
字符串为空
对象大小为零
对象大小不是零
在您的情况下,下面的代码将做正确的工作

    <%@ taglib prefix="s" uri="/struts-tags" %>
 <html>
<head>
</head>

<body>
<h1>Struts 2 If, Else, ElseIf tag example</h1>

<s:set name="sectionHidden" value="false"/>

    <table>

        <tr id="sectionTitle" style="display:<s:if test="sectionHidden">none</s:if><s:else>block</s:else>">
              <td>This is the section title</td>
        </tr>
    </table>
</body>
</html>

Struts 2 If,Else,ElseIf标记示例
这是章节标题

您可以使用提供的struts2测试任何值,如果标签如下所示

<s:if test="anyBooleanValue">
 I am returning TRUE.<br/>
 </s:if>
 <s:else>
 I am returning FALSE.<br/>
 </s:else>

 <!-- For String Value -->
 <s:if test="%{myStringValue!=null}">
 String is not null<br/>
 </s:if>
 <s:elseif test="%{myStringValue==null}">
 String is null<br/>
 </s:elseif>
 <s:else>
 String is null<br/>
 </s:else>

 <!-- For Object Value -->
 <s:if test="%{checkArrayList.size()==0}">
 Object Size is Zero<br/>
 </s:if>
 <s:else>
 Object Size is not a Zero<br/>
 </s:else>

我返回的是真的。
我返回FALSE。
字符串不是空的
字符串为空
字符串为空
对象大小为零
对象大小不是零
在您的情况下,下面的代码将做正确的工作

    <%@ taglib prefix="s" uri="/struts-tags" %>
 <html>
<head>
</head>

<body>
<h1>Struts 2 If, Else, ElseIf tag example</h1>

<s:set name="sectionHidden" value="false"/>

    <table>

        <tr id="sectionTitle" style="display:<s:if test="sectionHidden">none</s:if><s:else>block</s:else>">
              <td>This is the section title</td>
        </tr>
    </table>
</body>
</html>

Struts 2 If,Else,ElseIf标记示例
这是章节标题
根据您的需要

如果要裁剪,请使用一个
绘制(或不绘制)行,如AleksandrM answer中所示

如果您想隐藏它,但希望它位于页面中(例如稍后使用javascript显示它,或在源代码中查看它),则可以使用
应用(或不应用)隐藏状态:

<tr id="sectionTitle" <s:if test="sectionHidden">style="display: none;"</s:if>>
   <td>This is the section title</td>
</tr>

这是章节标题
根据您的需要

如果要裁剪,请使用一个
绘制(或不绘制)行,如AleksandrM answer中所示

如果您想隐藏它,但希望它位于页面中(例如稍后使用javascript显示它,或在源代码中查看它),则可以使用
应用(或不应用)隐藏状态:

<tr id="sectionTitle" <s:if test="sectionHidden">style="display: none;"</s:if>>
   <td>This is the section title</td>
</tr>

这是章节标题

我的需求有点不同。使用jquery我隐藏/显示行,使用Struts我想设置行的初始状态(例如隐藏),然后使用jquery更改它。我正在寻找一种方法(如果存在的话)来放置style=“display:none;”只写一次修改过的答案以满足您的要求。如果是真行,则将处于hiiden模式,如果是假行,则将处于block模式。我的需要有点不同。使用jquery我隐藏/显示行,使用Struts我想设置行的初始状态(例如隐藏),然后使用jquery更改它。我一直在寻找一种方法(如果存在的话)来放置style=“display:none;”只写一次修改过的答案以满足您的要求。如果为真,行将处于hiiden模式,如果为假,行将处于块模式。