首页 > 其他分享 >struts的ActionErrors和ActionMessage写法

struts的ActionErrors和ActionMessage写法

时间:2023-06-08 20:31:38浏览次数:36  
标签:errors ActionMessage struts ActionError add ActionErrors error new


我在Action中的ActionErrors的实例中add了一系列的ActionError, 
在JSP中用<html:errors/>显示,但什么都没有! 
是不是ActionErrors.add("abc",  ActionError)中的第一个字符串“abc”要添加在什么资源文件里呀?怎么建立资源文件,怎么添加?怎么显示? 
我非常迷惑,请各位赐教,谢谢!  

 

ActionErrors  errors  =  new  ActionErrors();  
errors.add(ActionErrors.GLOBAL_ERROR,  new  ActionError("error.buildsite.session_null"));  
saveErrors(request,  errors);  
return  mapping.findForward("buildsite");


 
error.buildsite.session_null在WEB-INF\classes\你的站点跟目录下\ApplicationResources.properties文件里 
这个文件在web.xml文件里设置: 

<init-param>  
           <param-name>application</param-name>  
           <param-value>com.ApplicationResources</param-value>  
       </init-param>

在struts配置文件里配置:

<message-resources
  parameter="ApplicationResources" />
还要保证你的return  mapping.findForward("buildsite");  
里面的buildsite这个在映射里有相关设置,返回的是一个jsp页面,而且这个页面上要有<html:errors/>


--------------------------------------------------------------- 
 
关于Struts出错处理,有两个类ActionError和ActionErrors,ActionError用于读取资源文件ApplicationResources.properties或其它中对应的出错消息,ActionErrors用于收集ActionError出错消息实例。例如: 
 ActionError  error  =  new  ActionError("error.database.missing"); 
error对应于资源文件error.database.missing条目的消息,ApplicationResources.properties文件内要有: 
error.database.missing=<li>User  database  is  missing,  cannot  validate  logon  credentials</li> 
完整的例子如下: 
 
     

if(1==1)  
             {      
                         ActionError  error  =  new  ActionError("error.database.missing");  
                         ActionErrors  errors=new  ActionErrors();  
                         errors.add("ActionErrors_GLOBAL_ERROR",error);  
                         saveErrors(request,  errors);  
                         return  new  ActionForward(mapping.getInput());  
               }


 
在输入文件中要显示出错消息处加入标签: 
<html:errors/> 
 
输出的消息是: 
Validation  Error 
You  must  correct  the  following  error(s)  before  proceeding: 
User  database  is  missing,  cannot  validate  logon  credentials   
 
-------------------------------------------------------------------------------- 
 
以上代码在JSPStudio中运行通过。 
 
---------------------------------------------------------------  
 ActionErrors  errors  =  new  ActionErrors(); 
errors.add("abc",  new  ActionError("error.buildsite.session_null")); 
saveErrors(request,  errors); 
依照你的写法

应该是<html:errors  property="abc"/>

 

2.如果是ActionMessage

ActionErrors errors = new ActionErrors();
  errors.add(errorName, new ActionMessage(errorKey));//errors.add("abc", new ActionMessage("error.buildsite.session_null"));  
  this.saveErrors(request, errors);

页面上显示:

全部输出:

<html:messages id="message"> 
  <bean:write name="message"/> 
  <br/> 
</html:messages>

指定输出abc:

<html:messages id="message" property="abc"> 
  <bean:write name="message"/>
  <br /> 
</html:messages>

 

标签:errors,ActionMessage,struts,ActionError,add,ActionErrors,error,new
From: https://blog.51cto.com/u_16065168/6443081

相关文章

  • struts2,Jboss
                    ......
  • Struts2实例
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@taglibprefix="s"uri="/struts-tags"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitio......
  • 使用JPA+Struts2+Spring 在 google Appengine开发应用
    本文同时发表在我在googleAppengine上的搭建的博客:[url]http://blogfor11lu.appspot.com/articleaction_view.action?article.id=agtibG9nZm9yMTFsdXIPCxIHQXJ0aWNsZRjBtQMM[/url]之前用JDO和Struts2在googleAppengine上试着写了一个简单的blog程序,但我还是希望使用Spring......
  • 渗透测试-struts2攻防环境搭建拿shell
    一、下载Jspstudy打开目录D:\JspStudy\tomcat\webapps二、打开struts2并进行拿shell1.打开struts2在浏览器中输入网址http://localhost:8080/struts2-showcase/showcase.action点击上面的Configuration,点击ActionChaining点击上面的Configuration,点击ActionChaining点击......
  • struts2 jpg文件上传失败 Content-Type not allowed 解决方案
    org.apache.struts2.interceptor.FileUploadInterceptor-Content-Typenotallowed:upload"upload__75549ca5_1239ddc5ce6__8000_00000161.tmp"image/pjpeg原有配置:用ext+struts2上传时一直显示进度条不消失:Java代码<actionname="xxxAction"cla......
  • Struts2----中使用ValueStack、ActionContext、ServletContext、request、session等
     声明:本文参考Struts2版本为2.3.1.2,内容仅供参考,限于笔者水平有限,难免有所疏漏,望您能友善指出。本文发表于ITEYE,谢绝转载。1.ValueStack  ValueStack在中文版的《Struts2深入浅出》一书中译作“值栈”。其本身数据结构是一个栈,使用者可以把一些对象(又称作bean)存入值栈中,然后......
  • struts2+Spring+Hibernate+Jquery (json)
          Struts2文件的上传和下载http://wing929.javaeye.com/blog/216118基于struts+spring+hibernate+jquery的jmesa的分页实现样例http://wing929.javaeye.com/blog/216292http://hi.baidu.com/angel_lishiwen/blog/item/cf266627fcb59327d4074288.html stru......
  • Struts2+extjs (Json)
            web开发过程中,经常需要使用Ajax进行数据的交互。ExtJs表单提交默认使用异步的方式,若使用Struts2的Action进行数据的处理,则需要返回一个Json数据客户端才会收到服务器的处理结果,我们使用jsonplugin插件从Action中返回结果给用户,下面我们就来实现这一方法: 1、下......
  • struts2 + extjs
     extjs整合struts2:要导入的包很重要,很多demo就是没有说清楚这个,导致无法安装他们的博文进行演示。那么接下去,就简单了。struts.xml的配置Xml代码1.<?xmlversion="1.0"encoding="UTF-8"?>2.<!DOCTYPEstrutsPUBLIC3."-//ApacheSoftwareFoundation//D......
  • Struts 2请求处理流程 命令模式2
     将“请求”封装成命令对象。把行为请求者和行为实现者进行解耦。 同时,invoker用list来储存命令。可以实现撤销,命令。 什么时候用? 敏捷开发原则:如果不知道什么时候用,就先不要用。在需要的时候再实现也是比较容易的。 Struts2的中的Action实现就是基于命令模式的。每个action相......