addActionMessage显示所有页面如何避免

时间:2014-08-13 04:07:25

标签: jsp struts2

addActionMessage(" does not exist!");

如何在显示所有页面的JSP页面中避免此消息。

jsp:

<s:actionerror cssClass="MessageBox" theme="simple" />
</s:if> 

 <s:if test="hasActionMessages()">
     <s:actionmessage cssClass="MessageBox" theme="simple" />
 </s:if>

3 个答案:

答案 0 :(得分:0)

我想你已经补充了 addActionMessage(" does not exist!"); 在所有行动方法 您应该在每个操作类方法中使用不同的消息来获取不同的消息。

答案 1 :(得分:0)

ActionMessage也是Collection<String> getActionMessage() {... }。所以你可以使用iteator方法。这个,

    <s:iterator value="actionMessage" status="s">
          <s:set var="S1" value="%{actionMessage.get(#s.index)}"/>
              <s:if test="#S1.contains(' does not exist!')">
                    True
               </s:if><s:else> 
                     False
                </s:else>
     </s:iterator>

答案 2 :(得分:0)

如果操作有操作消息,则会显示它们。您需要更改逻辑以确定是否应显示操作消息。在动作类中创建一个返回boolean的方法,并在需要测试时调用该方法。例如

private boolean showActionMessages;

public boolean isShowActionMessages(){
  return hasActionMessages() && showActionMessages;   
}

然后更改if代码

<s:if test="showActionMessages">
     <s:actionmessage cssClass="MessageBox" theme="simple" />
</s:if>