  | 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
|
|
|
  | | | Context Object | Context Object 2006-08-28 - By Abhinav Sopory
Back Hi, We use ContextObjects in our application as described in Core J2ee patterns. We use the Request Context Map strategy. The RequestContext has validation support. We have implemented it by having an AbstractContextObject that has a Map. HttpContextObject, XmlContextObject, BatchContextObject extend from it.
The ApplicationController creates the appropriate instance of the RequestContext and calls the validate method on it. In case of validation errors the same object is dispatched to the view otherwise the appropriate command is executed and it returns a ContextObject (a HttpContextObject) and this is dispatched to the view (JSP).
This works fine in most screens, but in pages places where we have multiple forms we are facing problems.
Say a screen has three forms. One to search some business objects. Another where the searched business objects are displayed and edits can be done, like delete (checkboxes) and update status and date (text boxes). And a third to add a new business object.
In this screen if the user clicks on search and we have a form validation error then our controller return the ContextObject created from the request and it does not have the search results previously shown.
To take care of this we started storing all the search results as hidden in the search form and the validator needs to know which action was called so it validates the proper subset of the ContextObjects. I think there should be a better way of doing it.
Another way is to have a single form. But in this case if the user changed the status and dates on the searched results and also changed the search params and then clicked on search in case of form validation errors when the screen comes back it shows the dates and status that the user had previously entered and not the ones that are actually the search results.
We are having to put a lot of hidden fields and checks on the validation and the Command objects to get around this.
If anybody has suggestions, please reply. Thanks, Abhinav
==================================================================== Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
|
|
 |