在呈现之前评估bean验证消息中的EL

时间:2012-01-19 04:46:52

标签: jsf-2 el bean-validation phaselistener

我正在尝试在渲染到UI之前评估验证消息。我试图做的所有这一切的原因是,如果我使用

@NotEmpty(message="{person.lastName.notNull}")
private String lastName;

在我的资源包中,密钥的值如下:

  

请输入姓氏#{account.profile.name.something}

当输入字段被验证时,消息显示为原样,即运行时表达式值未被解析。我试图填写以下阶段监听器的if循环中的注释代码。

public Class EvaluateMessageListener implements PhaseListener {

    public PhaseId getPhaseId() {  
        return PhaseId.RENDER_RESPONSE;  
    }

    public void beforePhase(PhaseEvent event) {   
        FacesContext facesContext = FacesContext.getCurrentInstance();  
        List<FacesMessage> messageList = facesContext.getMessageList();  
        if (messageList != null) {  
            //loop through the messagelist,evaluate message and add message to FacesContext
        }  
    }

    public void afterPhase(PhaseEvent event) {
    } 

}

我怎样才能做到这一点?

0 个答案:

没有答案