It is easier than you think.
You are very close, and you already did this for the value attribute (used to pre-set the value for the element on the page): now just do this for the name attribute (used to send the value to the action), for example:
<s:hidden name="user.id" key="id" value="%{user.id}" /> <s:textfield id="subscriberForename" name="user.forename" value="%{user.forename}" label="Forename" /> <s:textfield id="subscriberSurname" name="user.surname" value="%{user.surname}" label="Surname" />
( Key attribute is not needed here)
Please note that for this you will need a bean with the no-args constructor (like yours).
Avoid initializing it yourself.
Change this:
private Subscriber user = new Subscriber();
to that
private Subscriber user;
source share