自动の转化!次回合的战斗:验证格式!

好了让我们愉快的开始第二回合
这一回合的内容是页面上的类型转换
主要的呢
先说个简单的

Struts2实现的自动类型转换
1:所有基本数据类型的转换
2:本地日期格式(YYYY-MM-DD) 自动转为date类型
3:把String【】数组类型转成了使用逗号空格间隔的字符串

Struts不能实现的类型,就需要我们自己转了
我要写的就是自己转类型

首先呢,是在web下,写个类,类名就叫myConverter,
要让这个类继承 extends StrutsTypeConverter这个类

类里面有两个方法。
一个是String转date
一个是date转String
现在写一下实现的方法

Public class MyConverter extends StrutsTypeConverter
{
Private SimleDateFormat sdf = new SimpleDateFromat(“mm/dd/yyyy”);
//arg1:被转换的类型 arg2:转换成什么类型
Public Object ConvertFromString(Map arg0,String[] arg1,class arg2)
{
If(arg1.length==0||arg1==null)
{
Return null;
}
String date = arg1[0];
If(arg2==java.util.Date.class)
{
Try
{
Return sdf.parse(date);
}
Catch(ParseException e)
{
e.printStack Trace();
}
}
Return null;
}
}
Public String convertToString(Map arg0,Object arg1)
{
If(arg1 instanceof Date)
{
Date date=(Date)arg1;
Return sdf.format(date);
}
Return null;
}
}

好了 开始怎么配置吧
有两个方法配置,一个就是配置这个方法的,
在这个实体类包写:
(假如写birthday) birthday-conversion.properties
怎么就记不下来这个英文呢
Properties properties properties properties properties properties properties properties properties properties properties properties properties properties properties properties
里面写着:birthday=com.qianfeng.
第二个方法:是在src下 配置文件
好了 关门了 明天写
好了 明天到了 ,可是我却不记得昨天我写到哪了

想起来了想起来了(经过了看源代码)
写一个配置文件
名字叫后悔~
不对, (全局的,在src下)
Xwork-conversion.properties
java.util.Date=com.qianfeng.web.action.converter.MyConverter


下面开始验证,划重点,敲黑板
1编程式验证
(硬解码)
Struts内部封装了一个map,这个map的键就是页面上的name属性的值
Map的值就是验证结果信息
重写ActionSupport中的validate方法,把验证信息存在map中
addFieldError方法用来验证信息存储到map中

默认在执行该action的任何动作方法之前都进行验证
怎么让不需要验证的方法,不执行validate?
1:使用注解:在不需要执行验证的动作方法上加入注解@SkipValidation
2:改变验证方法的名称:validate+动作方法名(首字母大写)

注意 必须继承actionsupport

@Override
public void validate()
{
if(“”.equals(user.getUsername()) || user.getUsername()==null)
{
//把验证信息存到map中
addFieldError(“username”,”用户名不为空”);
}
if(StringUtils.isEmpty(user.getUsername()))
{
addFieldError(“username”,”用户名不为空”);
}
}

public void validateRegist()
{
if(StringUtils.isEmpty(user.getUsername()))
{
addFieldError(“username”,”用户名不为空”);
}
}

ok
好了测试成功 记得要写input反馈才可以哦~

第二种方式
声明式验证:
在动作类所在的包下创建xml 文件,命名规范:动作类名-validation.xml
1创建文件:动作类名-validation.xml
默认在执行动作类任何一个方法都要执行
解决方式:
1:使用注解,再不需要执行验证的动作方法下加入注解@SkipValidation
2:改变xml文件的名称:动作类名-动作名-vlidation.xml
2 加入dtd约束:xwork-core-2.3.15.3JAR包下找到 xwork-validator-1.03dtd

我把验证打过来了这破玩意找的太费事了
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
CCF大数据与计算智能大赛-面向电信行业存量用户的智能套餐个性化匹配模型联通赛-复赛第二名-【多分类,embedding】.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值