分享知识-快乐自己:自定义struts2类型转换的全局与局部错误信息。
遇到类型转换错误的时候(也就是说不能进行类型转换),struts2框架自动生成一条错误信息,并且将该错误信息放到addFieldError里面。我们可以通过配置文件来替换这条由struts2自动生成的错误信息。
类型转换全局 错误信息的设定:
struts.xml 中添加以下代码:
<constant name="struts.custom.i18n.resources" value="message"></constant>
其中name的值为固定的。value的值表示国际化资源文件的文件名为message.properties。然后要去生成这个message.properties文件,存放目录为classes的根目录。
message.properties
xwork.default.invalid.fieldvalue={0} error
其中xwork.default.invalid.fieldvalue为固定的,
{0}相当于一个占位符,会被页面表单中元素的名字来填充,是动态的。
整个右边表示当整个项目中任何一个属性转换出问题的话,会显示{0}(即属性的名字)error。
此配置是全局的,会对整个工程中有效。
类型转换局部 错误信息的设定:
RegisterAction.properties
invalid.fieldvalue.age=age is error
invalid.fieldvalue.birthday=/u751f/u65e5/u65e5/u671f/u8f93/u5165/u9519/u8bef
invalid.fieldvalue.graduation=/u6bd5/u4e1a/u65f6/u95f4/u65e5/u671f/u8f93/u5165/u9519/u8bef
文件名与action的名字一样,但扩展名改为properties。存放路径与action相同。其中的age、birthday等与action中的属性名对应,后面为错误提示信息。
实际开发中应尽量使用局部的类型转换信息,而不要用全局的。
分享知识-快乐自己:自定义struts2类型转换的全局与局部错误信息。的更多相关文章
- 分享知识-快乐自己:Struts2文件上传及文件下载
		
1)Struts2单文件上传 action:类文件 package com.mlq.action; import com.opensymphony.xwork2.ActionSupport; impo ...
 - 分享知识-快乐自己:Struts2框架 工作原理及执行流程图(拦截器的使用)
		
Struts2 架构图: 1):提交请求 客户端通过 HttpServletRequest 向 Servlet (即Tomcat)提交一个请求. 请求经过一系列的过滤器,例如图中的 ActionCon ...
 - 分享知识-快乐自己:Struts2 前台日期到后台的日期格式转换
		
案例目录: 关键代码展示: DateConverter: package com.mlq.util; import com.opensymphony.xwork2.conversion.TypeCon ...
 - 分享知识-快乐自己:Struts2 拦截器 与 过滤器
		
拦截器的使用以及配置: package com.gdbd.interceptor; import com.gdbd.pojo.UserInfo; import com.opensymphony.xwo ...
 - 分享知识-快乐自己:Struts2 (常用的 constant 总结)
		
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...
 - 分享知识-快乐自己:Struts2 - result标签的name属性和type属性
		
1):result的name属性 例如:<result name="success">/pages/success.jsp</result> Strut ...
 - 分享知识-快乐自己:Struts2(动态方法、动态结果、通配符、方法内部跳转、action跳转、OGNL 的使用及注意事项)
		
这里主要以案例演示:涵盖以下知识点 1.动态方法调用:使用关键 符号 ! 进行操作 例如:/命名空间 ! 方法名 2.动态结果集:就是说,通过后台返回的结果 ${} 获取,重定向到符合预期的页面. ...
 - 分享知识-快乐自己:Struts2中 获取 Request和Session
		
目录结构: POM: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEnco ...
 - Struts2自定义拦截器处理全局异常
		
今天在整理之前的项目的时候想着有的action层没有做异常处理,于是想着自定义拦截器处理一下未拦截的异常. 代码: package cn.xm.exam.action.safeHat; import ...
 
随机推荐
- AWK 思维导图
			
完整的AWK思维导图 文章来源:刘俊涛的博客 地址:http://www.cnblogs.com/lovebing
 - metaq入门部署到实战
			
初识metaq zookeeper部署,这里单机zk为例. wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeep ...
 - Koa2 + Mongoose + Log4js 持久化日志
			
代码地址如下:http://www.demodashi.com/demo/12466.html 之前做的项目是采用 Express 框架进行搭建的,其中的日志管理采用了 winston + Post ...
 - p90x 涵盖了全部方式的健身方式美国经典训练DVD
			
http://baike.baidu.com/view/2602721.htm p90x是美国经典训练DVD, 涵盖了全部方式的健身方式13张Beachbody P90X DVD全集,90天魔鬼训练 ...
 - 【Web API系列教程】3.10 — 实战:处理数据(公布App到Azure App Service)
			
在这最后一节中.你将把应用程序公布到Azure.在Solution Explorer中,右击项目并选择Publish. 点击Publish打开Publish Web对话框. 假设你在新建项目的时候选中 ...
 - 栈(C++)
			
简介: 限定仅在表尾进行插入或删除操作的线性表 表尾端称为栈顶(top),表头端称为栈底(bottom) 特点: 在栈中,后入栈的元素先出栈 C语言版本 用于测试的文件,以及测试结果可以去作者GitH ...
 - wifi认证Portal开发系列(二):FreeRadius的安装和测试、关联Mysql
			
注:本次安装是基于FreeRadius 3版本进行安装配置的,在配置Mysql的过程中,与2版本有些不同.操作系统是CentOS 7 一.准备工作 工具的安装 #安装rz.sz命令用于文件上传 yum ...
 - jdbc 链接池的优化
			
package cn.itcast.jdbc.datasourse; import java.sql.Connection;import java.sql.DriverManager;import j ...
 - linux uart驱动——相关数据结构以及API(二)
			
一.核心数据结构 串口驱动有3个核心数据结构,它们都定义在<#include linux/serial_core.h>1.uart_driver uart_driver包 ...
 - markdownPad2 绿色破解版安装
			
markdownpad2,默认为markdown传统风格,不能编辑分行的代码段,可以在设置里改为Github 风格,但需要付费激活,以下是绿色安装包,附激活方法 下载地址 https://pan.ba ...