`

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

阅读更多

 

碰到一个页面总是报500错误,而且后台又没有任何输出错误信息,很是郁闷,

经最后查证,原来是在struts进行字段验证时报的错,主要原因是我们的错误页面没有用标签捕获

各种异常信息,才导致很难定位错误所在。

 

首先请看如下代码:

 

<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的内容直接放在要显示消息的页面 ) 

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

 

分享到:
评论

相关推荐

    filederror.ftl

    覆盖filederror有格式的问题, 覆盖filederror有格式的问题, 覆盖filederror有格式的问题

    grpcio-1.14.0-cp36-cp36m-macosx_10_7_intel.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    哈尔滨工程大学825经济学2020考研专业课初试大纲.pdf

    哈尔滨工程大学考研初试大纲

    hack-10万密码.txt

    hack-10万密码

    ASP“辅导员之家”网站设计与开发(源代码+论文)【ASP】.zip

    ASP“辅导员之家”网站设计与开发(源代码+论文)【ASP】

    大作业基于python+tkinter学生成绩管理系统带登录界面完整源代码.zip

    学生成绩管理系统 一个简单的学生课程系统,可以创建学生,课程,成绩,以及计算最高对分。 代码流程: (1)通过创建一个CSV文件对学生信息进行存储 (2)通过对CSV文件的访问对数据进行修改和读取 (3)通过TKINTER做出界面与代码进行对接 (4)通过Pandas和numpy对数据进行分析、归类 (5)通过Matplotlib对已处理的数据进行可视化处理并与界面对接。 需求分析: (1)创建一个登陆界面,并拥有管理员权限进行数据访问。 (2)通过创建一个ENTRY读取交互界面的数据。 (3)创建一个学生类,包含学号,姓名,性别,对信息进行存取。 (4)创建一个学生信息删除类,对学生信息的删除。 (5)创建一个学生课程成绩类,包含学生类成员和课程类数组成员,并对成绩进行修改。 (6)可以生成学生,并且为学生创建课程成绩。 (7)输出指定科目分数最高和最低的学生课程成绩信息。 (8)输出指定学生的科目分数最高和最低分。 (9)对整体单科成绩的一个可视化分析。

    基于python的模板数字识别程序

    基于python的模板数字识别程序

    看了昨晚的跨年演唱会,想必大家都被自己的idol的唱功或颜值所折服吧 今天就教大家如果用照片制作一副照片墙,以我粉了多年的老薛作

    看了昨晚的跨年演唱会,想必大家都被自己的idol的唱功或颜值所折服吧 今天就教大家如果用照片制作一副照片墙,以我粉了多年的老薛作

    python大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zip

    python大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zip 【优质项目推荐】 1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 2.项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、项目初期立项演示等用途。 4.如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能。 python大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zippython大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zippython大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zippython大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zippython大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zippython大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zippython大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zippython大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zippython大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zippython大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zip python大作业基于pyqt5框架设计的音乐播放器项目源码+超详细注释(带GUI界面).zip

    基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip

    基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip 【优质项目推荐】 1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 2.项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、项目初期立项演示等用途。 4.如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能。 基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip 基于python大数据分析与可视化的疫情信息发布平台源码(含前端、后端、数据库).zip

    openssh-debuginfo-9.3p2-1.ky10.aarch64.rpm

    openssh-debuginfo-9.3p2-1.ky10.aarch64

    springboot微信小程序商城系统(源码+数据库+论文)

    高分毕设 springboot微信小程序商城系统(源码+数据库+论文) 购物系统设计的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与购物系统设计管理的实际需求相结合,讨论了基于购物系统设计管理的使用。 + 微信小程序 + springboot + vue + jdk1.8

    ASP.NET《数据库原理及应用技术》课程指导平台的开发(源代码+论文)【ASP】.zip

    ASP.NET《数据库原理及应用技术》课程指导平台的开发(源代码+论文)【ASP】

    基于Java的超市管理系统(源码+论文+需求分析+数据库文件+演示视频).zip

    如今科技迅猛发展的今天台,各种管理系统已应用到社会的各个领域。各个大小企业无论规模如何,都充分意识到传统的手工管理模式已经逐渐不能适应时代的发展,为了更好的发展,纷纷开发适合自己的管理系统。 通过超市管理系统这个平台,可以实现小型超市管理的信息化、网络化、系统化、规范化,使工作人员从繁杂的数据查询和统计中解脱出来,减少工作量。系统的主要功能包括:商品分类管理、商品管理、入库管理、出库管理、库存信息浏览、商品管理、供应商 管理等。 本系统前台主要使用JSP作为开发语言,后台使用Mysql作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web技术的B/S结构的超市管理系统。

    HTML开发的最主要的三种框架(Bootstrap、Foundation、Bulma)及Python实现的例子

    本资源提供了基于HTML开发的三个主要框架(Bootstrap、Foundation、Bulma)以及Python实现的三个例子。这些框架和例子将帮助您更好地理解和应用Web开发技术。 1. Bootstrap:Bootstrap是一个流行的前端框架,用于快速开发响应式和移动优先的网站。它包含了丰富的预定义样式、组件和JavaScript插件,可以大大提高开发效率。 2. Foundation:Foundation是一个灵活的前端框架,适用于各种类型的网站和应用程序。它提供了一套简洁的CSS和JavaScript组件,用于构建美观且功能强大的Web界面。 3. Bulma:Bulma是一个轻量级的前端框架,基于Flexbox布局。它提供了一套易于使用的CSS和JavaScript组件,用于创建现代且响应式的Web界面。

    ASP.NET+SQLBS模式的计算机等级考试管理系统的设计与实现(论文+源代码+开题报告)【ASP】.zip

    ASP.NET+SQLBS模式的计算机等级考试管理系统的设计与实现(论文+源代码+开题报告)【ASP】

    ASP+ACCESS铁观音销售网站设计与实现(源代码+论文)【ASP】.zip

    ASP+ACCESS铁观音销售网站设计与实现(源代码+论文)【ASP】

    百度、川大、哈工大、中文停用词

    本资源是一份由百度、四川大学和哈尔滨工业大学联合开发的中文停用词列表,旨在优化中文文本处理和自然语言处理(NLP)任务的性能。停用词列表包含了在中文文本分析中常见的、但对语义分析贡献较小的词汇,如“的”、“和”、“是”等。这些词汇虽然在语言中频繁出现,但往往不会对文本的语义理解产生显著影响,因此在预处理阶段去除这些词汇可以减少数据的冗余,提高处理效率。 该资源适用于文本挖掘、情感分析、机器翻译、信息检索等多个领域,帮助研究人员和开发者在处理中文文本时,能够更专注于文本的核心内容。百度、四川大学和哈尔滨工业大学在自然语言处理领域具有丰富的研究经验和技术积累,这份停用词列表是他们合作的成果之一,具有较高的权威性和实用性。

    grpcio-1.15.0-cp34-cp34m-macosx_10_7_intel.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    widgetsnbextension-4.0.0b1-py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

Global site tag (gtag.js) - Google Analytics