struts2 Validator 整合freemarker 取得FieldError的方法

xiaoxiao2022-06-12  32

struts2 Validator 整合freemarker 取得FieldError的方法

 

对源代码进行跟踪:

protected void addActionError(Object object) { validatorContext.addActionError(getMessage(object)); } protected void addFieldError(String propertyName, Object object) { validatorContext.addFieldError(propertyName, getMessage(object)); } public interface ValidatorContext extends ValidationAware, TextProvider, LocaleProvider { public abstract String getFullFieldName(String s); }

  

 

public interface ValidationAware { public abstract void setActionErrors(Collection collection); public abstract Collection getActionErrors(); public abstract void setActionMessages(Collection collection); public abstract Collection getActionMessages(); public abstract void setFieldErrors(Map map); public abstract Map getFieldErrors(); public abstract void addActionError(String s); public abstract void addActionMessage(String s); public abstract void addFieldError(String s, String s1); public abstract boolean hasActionErrors(); public abstract boolean hasActionMessages(); public abstract boolean hasErrors(); public abstract boolean hasFieldErrors(); }

 

 发现public abstract Map getFieldErrors();是个Map,要把Map转换成list在Map后面加个?keys就可以了,对应页面获取方法:

<#if actionMessages?size gt 0 || fieldErrors?size gt 0> <center> <div id="actionMessages" class="hightLightDiv"> <ul> <#list actionMessages as message> <li>${message?default("你请求的页面出错了!")?html?replace("\r\n","<br>")}</li> </#list> <#list fieldErrors?keys as field> <li>${field}:${fieldErrors[field]?default("你请求的页面出错了!")?html?replace("\r\n","<br>")}</li> </#list> </ul> </div> </center> </#if>

 

相关资源:Java 面经手册·小傅哥(公众号:bugstack虫洞栈).pdf
转载请注明原文地址: https://www.6miu.com/read-4933183.html

最新回复(0)