读本文的前提: .net
1)知道Struts2可以对URL请求参数的自动封装/自动转换类型的功能 blog
2)用过描述1中的功能。 get
对于以上问题,OSchina推荐了一个博客:http://my.oschina.net/u/273709/blog/80420 @罗荣熙 博客
之前都比较习惯使用Struts2对请求参数的自动封装,能够新建一个Vo实体来接受这些参数。方便快捷,感受很酷。 io
近来作项目在参数类型不正确的的状况下,Struts2会出错。而没法捕获详细的异常,是一件很悲催的事情。 请求
解决办法: 方法
在Action中本身校验这些参数,将全部的参数类型都定义为String类型。而后根据参数预设的类型来校验。 项目
一个Action中通常能提供一个或多个方法(Action),不免会产生多个相同的参数。 异常
此时新建一个拦截器,在拦截器中处理这些公共的参数。 习惯
方法中特有的参数,在方法体中去校验。
这样就能准确的提示到是哪一个参数非法。
关于Struts2中获取参数的原来,能够参见:http://my.oschina.net/u/617085/blog/74207