Patrice DUROUX created WW-5126:
----------------------------------

             Summary: inconsistancy between Model Driven and Model Driven 
Interceptor documentations
                 Key: WW-5126
                 URL: https://issues.apache.org/jira/browse/WW-5126
             Project: Struts 2
          Issue Type: Improvement
            Reporter: Patrice DUROUX


Hi,

 

The Model Driven documentation says:

If an action class implements the interface 
{{com.opensymphony.xwork2.ModelDriven}} then it needs to return an object from 
the {{getModel()}} method. Struts will then populate the fields of this object 
with the request parameters, and *this object will be placed on top of the 
stack once the action is executed*. Validation will also be performed on this 
model object, instead of the action. Please read about [VisitorFieldValidator 
Annotation|https://github.com/apache/struts-site/blob/master/source/core-developers/visitor-field-validator-annotation.html]
 which can help you validate model's fields.

where as the Model Driven Interceptor documentation says:
h2. Parameters
 * {{refreshModelBeforeResult}} - *set to true if you want the model to be 
refreshed on the value stack after action execution and before result 
execution*. The setting is useful if you want to change the model instance 
during the action execution phase, like when loading it from the data layer. 
This will result in {{getModel()}} being called at least twice.

 

Looking into the code shows that the default parameter value is false.

Moreover the interceptor refresh process is based on call to the {{equals}} 
method and this method may have been redefined, in a JPA context for instance. 
The replacement is then not systematic and may not be done.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to