zoukankan      html  css  js  c++  java
  • struts2利用<s:fielderror/>等标签详细地控制错误消息输出格式

    http://selvemen.iteye.com/blog/451113

    首先请看如下代码: 

    Jsp代码 
    1. <s:if test="hasFieldErrors()">      
    2. <s:iterator value="fieldErrors">      
    3.      <s:iterator value="value">      
    4.          <script language="JavaScript">      
    5.              alert('<s:property/>');      
    6.          </script>         
    7.      </s:iterator>        
    8. </s:iterator>      
    9. </s:if>    
    10.    


    这样当有field错误,就会弹出错误提示!当然不alert的话 也可以在外面之间套上div,控制输出格式 
    但问题来了 如果有多个field错误 就会不断地弹出消息窗口 
    我想把所有的错误消息全部显示在一个对话框中 每条错误消息占一行 
    怎么才能做到呢? 

    经过很长时间的摸索 问题终于给解决了 现在把它分享出来 

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

    Jsp代码  收藏代码
    1. <s:include value="message.jsp"></s:include>     
    2.   
    3. <s:include value="message.jsp"></s:include>  


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

    message.jsp代码如下 

    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>

  • 相关阅读:
    在Eclipse 2.0中使用版本控制系统CVS
    如何战胜软件测试的困境
    AJAX核心对象 XMLHttpRequest 对象使用详解 (二)
    javascript动态增加、删除、填充表格内容
    如何把SourceSafe中的数据转换成CVS的数据
    SOAP协议初级指南 (三)
    C#.Net的常见面试试题
    【转】jQuery中的编程范式 拓荒者
    DataTable的Compute方法和Expression语法 拓荒者
    下载网页内容,并编译生成CHM文件 拓荒者
  • 原文地址:https://www.cnblogs.com/lbangel/p/3115623.html
Copyright © 2011-2022 走看看