Message 和 error显示的问题

首先请看如下代码:
<s:if test="hasFieldErrors()">   
<s:iterator value="fieldErrors">   
     <s:iterator value="value">   
         <script language="JavaScript">   
             alert('<s:property/>');   
         </script>      
     </s:iterator>     
</s:iterator>   
</s:if>
这样当有field错误,就会弹出错误提示!当然不alert的话 也可以在外面之间套上div,控制输出格式 
但问题来了 如果有多个field错误 就会不断地弹出消息窗口 
我想把所有的错误消息全部显示在一个对话框中 每条错误消息占一行 
怎么才能做到呢? 
经过很长时间的摸索 问题终于给解决了 现在把它分享出来 

在需要显示消息的页面加入message.jsp 

(或者把message.jsp的内容直接放在要显示消息的页面 ) 

<s:include value="message.jsp"></s:include>

最好把它放在页面最后 等页面全部加载后 再显示消息 
要不然 加在前面的话就可能看到页面空白 消息提示显示完成后再显示页面 

message.jsp代码如下 

<%@ page language="java" contentType="text/html; charset=GB18030"  
     pageEncoding="GB18030"%>   
<%@ taglib prefix="s" uri="/struts-tags"%>   
<html>   
    <body>   
         //fielderror   
     <s:if test="hasFieldErrors()">   
         <s:iterator value="fieldErrors">   
             <s:iterator value="value" status="statu">   
                //field的错误消息是List 因此还需要迭代一次        
                 <s:set name="index" value="#statu.index"/>   
                 <s:set name="msg" value="#msg==null?'':#msg+   
                 value.get(#request.index).toString()+'\\\n'"/>//关键代码   
              </s:iterator>   
         </s:iterator>   
     </s:if>   
  
         //actionerror   
     <s:if test="hasActionErrors()">   
         <s:iterator value="actionErrors">   
                <script   language="JavaScript">   
                 alert("<s:property escape="false"/>")   
                </script>   
             </s:iterator>   
     </s:if>   
  
         //actionmessage   
     <s:if test="hasActionMessages()">   
         <s:iterator value="actionMessages">   
             <script language="JavaScript">   
                 alert("<s:property escape="false"/>")   
             </script>   
         </s:iterator>   
      </s:if>   
  
         //打印转换好格式的fielderror信息   
     <s:if test="#msg.length()>0">   
         <script language="JavaScript">   
             alert("<s:property escape="false" value="#msg"/>")   
         </script>   
     </s:if>   
     </body>   
</html>  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值