知识大全 Struts2中action和field级别错误处理

Posted

篇首语:积土而为山,积水而为海。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Struts2中action和field级别错误处理相关的知识,希望对你有一定的参考价值。

Struts2中action和field级别错误处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在struts 中 一般的action都继承ActionSupport这个类 可以重写public void validate()来进行数据校验 对应提示信息来说一般有两个比较常用的方法就是this addFieldError( field name error message ) 和 this addActionError( error message ) 两个方法

  由于在ActionSupport这个类实现了ValidationAware接口 接口里面声明了这两个方法

public void addActionError(String anErrorMessage)         validationAware addActionError(anErrorMessage);         public void addActionMessage(String aMessage)         validationAware addActionMessage(aMessage);    

  而ValidationAwareSupport实现了ValidationAware接口 通过查看ValidationAwareSupport源码中的两个错误提示方法

    private Collection actionErrors

    private Map fieldErrors

  public synchronized void addFieldError(String fieldName String errorMessage)           final Map errors = internalGetFieldErrors();          List thisFieldErrors = (List) errors get(fieldName);            if (thisFieldErrors == null)               thisFieldErrors = new ArrayList();              errors put(fieldName thisFieldErrors);                    thisFieldErrors add(errorMessage);    

public synchronized void addActionError(String anErrorMessage)         internalGetActionErrors() add(anErrorMessage);    

  注 由于fielderrors级别是Map类型 所以this addFieldError( field name error message ) 而actionerror级别是Collection级别 所以this addActionError( error message )

  在实际的项目开发应用中如果同时用到field和action错误级别的时候 在jsp页面中的表单有用到struts 的标签来实现的话 就有可能对于同一个表单 既有filed级别error提示又有action级别的error提示 这时 可以根据项目的实际需要来取舍 但是如果两个都要同时存在的时候 只显示action级别的error 而不显示field级别的action 由于struts 标签默认就是显示field级别的error 所以要修改模板 加入theme= simple 即可 这时struts 表单那标签默认的显示field错误提示失效 使用这个模板的好处还可以和普通的一样随便设计版面 例如 <s form action= RegisterAction theme= simple >

cha138/Article/program/Java/ky/201311/29109

相关参考

知识大全 Struts2基于注解的Action配置

Struts2基于注解的Action配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用注解

知识大全 修改struts2的.action后缀名

  晕了整了一个晚上就是无法访问原来是因为用了do的后缀名改成action的后缀名就可以访问了而且只能用XXXaction的形式否则无法访问  看来还是由于对struts的过滤机制不是很清楚  但是我

知识大全 struts2从一个aciton跳转到另一个action

  例如从你的LOGIN到registeraction   <package name=strutsextends=strutsdefault>&n

知识大全 struts2 session使用

在Struts里如果需要在Action中使用session可以通过下面两种方式得到    通过ActionContextclass中的方法getSession得到    Action实现apaches

知识大全 struts2 redirect-action传递参数解决方案

   我想在Post被Save成功之后直接转到viewPost页面该页面显示主贴及所有跟贴      也就是由

知识大全 struts2 更改默认resulttype

  最近碰到一个小要求想让一些action返回的resultType默认为freemarker开始是想在action上配置全局的result然后name用一个表达式然后type=freemarker 

知识大全 从实例看struts2运行原理

  简单例子  先做一个最简单的struts的例子在浏览器中请求一个action然后返回一个字符串到jsp页面上显示出来  第一步把struts最低配置的jar包加入的项目中  monslogging

知识大全 struts2访问session的两种方法

  Struts的Action中若希望访问Session对象可采用两种方式  从ActionContext中获取  实现SessionAware接口  从ActionContext中获取  impor

知识大全 struts2与freemarker的集成

  将freemarker的jar包添加到项目中  创建Action类   Java代码   //此处的Configuration是free

知识大全 开源技术—struts2中i18n的设置

针对xxxclass建立xxxproperties文件可以对class中的Output设置本地化输出更常用的方法是正对package建立packageNameproperties在其中设置Action