That was my thinking until ArrayList was not populated when I had the 
StrutsParameter on getXXX. For ArrayList the annotation has to be on setXXX.

On 9/28/25 5:18 AM, Lukasz Lenart wrote:
This makes sense, because in case of containers like
Maps/Lists/Vectors you first must get the container and then update
it, eg.:

someAction.getMap().put(...)

This is how OGNL works under the hood. Maybe it's worth mentioning
this in the Migration Guide

czw., 25 wrz 2025 o 21:58 Prasanth<[email protected]> napisał(a):
See below, from migration guide. Based on the below everything other than 
classes you have defined should have @StrutsParameter on setXXX.  The only 
exceptions I found so far are Maps and Vectors.

|----------------------------------------|
When upgrading to Struts 7.0, adding the necessary annotations to all setter 
methods can be scripted using a RegEx find and replace on all files matching 
|*Action.java|.

Find: |\n(\h*public void 
set[A-Z]\w*\((long|Long|int|Integer|String|double|Double|Object|Number|Character|char|Float|float|List|Collection|Set|Date|LocalDateTime|Calendar|File))|

Replace: |\n    @StrutsParameter\n$1
----------------------------------------|

Thanks,
Prasanth

On 9/25/25 2:24 PM, Ute Kaiser wrote:
I would also appreciate some more information on this.
I use annotated public declarations on Strings, int, long without explicit 
getter/setter, but for objects I spread around with annotations on both getter 
and setter since I have not found out yet which is the right one to annotate 
for different scenarios.
For displaying, it seems ok to use public declarations on everything,
but when save with validations is needed, I struggle with lost values and „no 
access“ errors
Best regards Ute

Von meinem iPad gesendet

Am 25.09.2025 um 19:09 schrieb Prasanth<[email protected]>:

Yeah, the code works. Even when it was a Boolean inside the Vector 
@StrutsParameter had to be used on getXXX method. So I assume that irrespective 
of the object type inside the Vector we have to annotate the getXXX method for 
Vectors.

Thanks,
Prasanth

On 9/25/25 11:59 AM, Dave Newton wrote:
On Thu, Sep 25, 2025 at 11:24 Prasanth<[email protected]> wrote:

public Vector<String> getDistributionAmounts()
public void setContacts(ArrayList<Long> contacts)

As you can see above which method (getXXX/setXXX) has to be annotated is
changing between Vector and ArrayList.
It also changes the generic type; did it work with strings?

d

---------------------------------------------------------------------
To unsubscribe,e-mail:[email protected]
For additional commands,e-mail:[email protected]

---------------------------------------------------------------------
To unsubscribe,e-mail:[email protected]
For additional commands,e-mail:[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail:[email protected]
For additional commands, e-mail:[email protected]


Reply via email to