[ 
https://issues.apache.org/jira/browse/WW-5126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17329388#comment-17329388
 ] 

Yasser Zamani commented on WW-5126:
-----------------------------------

I think documents are correct. Model will be on top of the stack regardless of 
the {{refreshModelBeforeResult}} value.

Regarding second portion thanks good catch! I think so. I personally think we 
should use {{==}} i.e. reference equality in this specific case instead. But 
could you please illustrate a valid case that epitomizes that we must change to 
{{==}}? Thanks!

> 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
>            Priority: Minor
>
> 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