一般经常使用<s:fielderror/>输出struts2验证框架校验失败的信息提示,但使用struts2的验证框架返回到页面的错误信息默认会包含在<li>标签中,网上有个解决方案是修改freemaker的模版文件,较为复杂。本人现在找到一个比较简单的方法,现在记录如下:
由于验证失败后struts2会将错误信息放置在context中的errors对象中,所以我们有几种方式针对某个需要验证字段取出错误信息
需要验证的字段为errMsg及syscode.code_id
- el表达式法:${errors.errMsg[0]}、${errors["syscode.code_id"][0]}
- ognl表达式:<s:property value="errors.errMsg[0]"/>、[s:property value="errors['syscode.code_id'][0]"/>
- ognl表达式(数据request开始取):<s:property value="#request.errors.errMsg[0]"/>、[s:property value="#request.errors['syscode.code_id'][0]"/>
其中2、3种方法的结果是一样的,只不过开始取错误信息的位置不同而已