struts2 Validator 整合freemarker 取得FieldError的方法

转载于:http://zdz8207.iteye.com/blog/456402

 

 

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>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值