在使用struts2中,为了方便调试,通常struts.properties文件中把开发模式设置为true。当表单里面的数据为空的时候提交,由于配置了validation校验框架,页面被拦截,有提示信息。控制台输出如下:
2008-12-3 21:10:39 com.opensymphony.xwork2.interceptor.ParametersInterceptor setParameters
严重: ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'age' on 'class org.mmc.struts2.action.RegisterAction: Error setting expression 'age' with value '[Ljava.lang.String;@b70648'
2008-12-3 21:10:39 com.opensymphony.xwork2.validator.ActionValidatorManagerFactory <clinit>
信息: Detected AnnotationActionValidatorManager, initializing it...
控制台出错信息分析:
由于配置文件中继承了
struts-default.xml文件
其中struts-default.xml中的代码片段为:
<interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
由于配置了validation校验框架部分片段:
1<field name="age">
2 <field-validator type="required">
3 <message>age should not be blank!</message>
4 </field-validator>
5
6 <field-validator type="int">
7 <param name="min">1</param>
8 <param name="max">150</param>
9 <message>age should be between ${min} and ${max}</message>
10 </field-validator>
11 </field>
原因是输入类型不匹配,这个出错信息是由于开发模式设置为true,把开发模式设置为false就不会产生这个错误信息。这个是LOG给的控制台错误,方便用户调试使用,并不影响程序的正常运行。
-------------------------------------------------------------------------------------------------
PS:本博客文章,如果没有注明是有“转”字样,属于本人原创。如果需要转载,务必注明作者和文章的详细出处地址,否则不允许转载,多谢合作!
posted on 2008-12-03 21:34
apple0668 阅读(3878)
评论(1) 编辑 收藏 所属分类:
struts2