  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | - How to display exception messages for fields | - How to display exception messages for fields 2007-08-13 - By ellenzhao
Back Here is the entity class:
| @(protected) | @(protected)("foo") | @(protected)(name = "foo") | public class Foo implements Serializable { | ... | @(protected)(name = "non_repeat_cycle", nullable = false) | public Short getNonRepeatCycle() { | return nonRepeatCycle; | } | | public void setNonRepeatCycle(Short nonRepeatCycle) | throws IllegalNonRepeatCycleException { | boolean valid = true; | if (nonRepeatCycle <= 0) { | valid = false; | throw new IllegalNonRepeatCycleException(nonRepeatCycle); | } | if (valid){ | this.nonRepeatCycle = nonRepeatCycle; | } | } | ... |
Client code in xhtml:
| <s:decorate template="layout/edit.xhtml"> | <ui:define name="label">Non-repeat cycle:</ui:define> | <h:inputText | value="#{fooManager.foo.nonRepeatCycle}" required="true" /> | <h:outputText value=" days" /> | </s:decorate> | |
The idea is that, this way the entity knows how to validate itself and I do not have to write a separate validator.
In fact it works very well, when I tested with the number "-3", there is error message displayed in red and the conversation hanged like expected (hanged but not killed, after I corrected the value, the conversation goes smoothly), and the view is also like expected....The only problem is, the error message looks like this:
| /foo-management.xhtml @(protected),31 value="#{fooManager.foo.nonRepeatCycle}": Error writing 'nonRepeatCycle' on type myproject.entity.Foo |
My exception class looks like this:
| public class IllegalNonRepeatCycleException extends Exception { | private static final String DEFAULT_MSG = "Non-repeat-cycle must be greater than zero!"; | @(protected) | private static Log log; | | public IllegalNonRepeatCycleException(){ | super(DEFAULT_MSG); | } | | public IllegalNonRepeatCycleException(Short nonRepeatCycle) { | super(DEFAULT_MSG + " " + nonRepeatCycle + " is illegal."); | log.info("Exception generated!"); | } | | public String toString(){ | return this.getMessage(); | } | } |
It would be nice if the error message in the view can be the exception message. How to do this? Thanks in advance for any help!
Regards, Ellen
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic &p=4073648#4073648
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode =reply&p=4073648 __ ____ ____ ____ ____ ____ ____ ____ ____ ____ jboss-user mailing list jboss-user@(protected) https://lists.jboss.org/mailman/listinfo/jboss-user
|
|
 |