WebWork 提供了两种级别的错误信息,分别是actionError和fieldError.
actionError是这个属性是Collection类型,fieldError是HashMap类型
下面是用velocity在页面上得到错误信息的方法:
一、这是在页面上得到fieldError的信息:
#macro(FIELD_ERROR $field)
#if($fieldErrors)
#if($fieldErrors.containsKey($field))
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="TipsDetail">
#set($result = $fieldErrors.get($field))
#foreach($msg in $result)
<tr>
<td>
<div class="errorMessage">
$msg
</div>
</td>
</tr>
#end
</table>
#end
#end
#end因为fieldError是HashMap类型,所以这里要传入你要的错误信息对应的KEY,这个KEY下可能会对应多个错误信息,所以进行了一个FOR循环将所以的错误信息都取出。
二、这是在页面上得到actionError的信息:#macro(ACTION_ERROR)
#if($actionErrors)
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="TipsDetail">
#foreach($msg in $actionErrors)
<tr>
<td>
<div class="errorMessage">
$msg
</div>
</td>
</tr>
#end
</table>
#end
#end比起fieldError,actionError是Collection类型,只要一个FOR循环将所有的错误信息取出即可。
在何时用fieldError和actionError?
1.如果你想显示总体信息,那么actionError是一个好选择,因为对总体信息来说,不需要过细的划分;
2.但是如果你的信息要进行细致的划分,比如你在后台进行数据再次验证,对于传入的字段如果格式不符,对应生成相应的错误信息,那么这时候就要用fiedError了。