`

struts2利用<s:fielderror/>等标签详细地控制错误消息输出格式

阅读更多
首先请看如下代码:

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

<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>    
分享到:
评论

相关推荐

    struts2常用标签

    本文将详细介绍Struts2中常用的标签及其用法,帮助开发者更好地理解和运用这些标签。 #### 二、标签详解 ##### 1. `&lt;s:a href=""&gt;` —— 超链接 - **功能**:类似于HTML中的`&lt;a&gt;`标签,用于创建超链接。 - **示例*...

    Struts2标签应用.

    1. `&lt;s:fielderror&gt;`:显示字段级别的错误信息,如表单验证失败时的错误。 2. `&lt;s:file&gt;`:处理文件上传,用于创建文件上传控件。 3. `&lt;s:form&gt;`:创建表单,可以指定提交的Action,支持Action属性和验证。 G部分:...

    struts2标签解释

    Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者可以更加便捷地构建动态JSP页面。这些标签简化了HTML元素与Action之间的交互,增强了可读性和维护性。以下是对部分Struts2标签的详细解释: A. `&lt;s:a...

    Struts2标签

    Display标签主要用于显示模型数据,例如`&lt;s:property&gt;`标签用于输出对象的属性值,`&lt;s:label&gt;`用于创建静态文本标签,`&lt;s:textarea&gt;`和`&lt;s:textfield&gt;`则用于创建输入框,用于用户输入。 4. **Field标签** Field...

    struts标签大全

    2. **表单标签**:Struts提供了强大的表单处理功能,例如`&lt;s:form&gt;`标签用于创建HTML表单,`&lt;s:submit&gt;`用于添加提交按钮,而`&lt;s:fielderror&gt;`可以显示验证错误信息。 3. **控制标签**:这些标签用于控制页面流程,...

    Struts2 标签二

    自由标签库是Struts2与Tiles框架集成的结果,提供了诸如&lt;s:form&gt;、&lt;s:textfield&gt;、&lt;s:textarea&gt;等用于创建用户界面的标签。这些标签使得开发者可以更便捷地处理表单元素,实现数据验证和提交。 二、Struts2标签的...

    struts2总结第二章

    使用Struts2的`&lt;s:fielderror/&gt;`和`&lt;s:actionerror/&gt;`标签在页面上显示错误信息。 **十、校验** 1. 手动编写代码校验,重写`validate()`方法或`validateXXX()`方法。 2. XML配置方式,创建`validation.xml`文件,...

    Struts2标签与开发手册

    Struts2是一个强大的Java web应用程序框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。Struts2的核心是Action类,而标签库则是其提供给开发者进行视图层构建的重要工具,提高了代码的可读性和可维护性。本...

    struts2 UI标签

    在Struts2框架中,UI标签库包括了一系列与表单、显示、导航等相关的标签,如`s:textfield`、`s:textarea`、`s:checkbox`、`s:radio`、`s:select`等。 **1. 表单标签** - `s:textfield`: 用于创建输入文本框,可以...

    Struts2 标签一

    通过深入学习标签的使用方法和内部原理,如标签的生命周期、数据绑定机制等,可以更好地利用Struts2框架构建高质量的Web应用。同时,结合源码阅读,可以对框架有更深入的理解,有助于解决实际问题和优化性能。

    (Struts2)标签解释

    Struts2是一个强大的MVC(模型-视图-控制器)框架,用于构建Java Web应用...在实际项目中,应结合OGNL(Object-Graph Navigation Language)表达式和Struts2的拦截器机制,以充分利用Struts2的标签库提供的强大功能。

    struts2.0标签详解

    本文将深入探讨Struts2的标签库,这些标签为开发者提供了丰富的功能,使得视图层的构建更加便捷高效。对于初学者而言,理解并熟练使用这些标签是提升开发效率的关键。 首先,我们要了解Struts2标签的基础概念。...

    struts2MVC

    Struts2提供了一系列的标签库,如s:property、s:textarea等,方便在JSP中显示和处理数据。 3. **控制器(Controller)**:控制器接收用户请求,解析这些请求,并调用相应的模型进行处理,最后将结果传递给视图进行...

Global site tag (gtag.js) - Google Analytics