我正在做一個Web應用程序使用Spring 3.1.0.RELEASE,JSF 2.x,JPA 2與Hibernate Provider。該應用程序在Tomcat 6.X上運行。豆驗證mutli lang消息失敗
網絡應用程序可以用不同的語言顯示:en,es,fr。
我在我的實體中使用了bean驗證。 Hibernate Validator是提供者,版本4.2.0.Final。
我已經在實體以下代碼:
@Email
@Size(max=255)
@Column(name = "email_ceo", length = 255)
private String emailCeo;
@NotEmpty
@OrderBy("position ASC")
@OneToMany(cascade = ALL, mappedBy = "site", fetch = FetchType.EAGER)
private List<SiteLanguage> langs;
予處理異常這樣的:
try {
siteService.createSite(newSite);
} catch (ConstraintViolationException ex) {
final FacesContext facesContext = FacesContext.getCurrentInstance();
for (ConstraintViolation<?> cv : ex.getConstraintViolations()) {
facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, cv.getMessage(), null));
}
}
我通過使用<h:messages />
顯示在模板中的錯誤消息我如何獲得翻譯的信息,因爲cv.getMessage()
總是返回英文信息?
對於電子郵件,它工作正常,我有良好的語言信息。
還有第二件事,我不明白:
爲什麼@NotEmpty
拋出一個ConstraintViolationException和@Email
不?
謝謝。
對不起,我不確定你是否回答我的問題。 – 2012-04-04 13:41:36