I believe the Parameters Interceptor will call your setUserName() method. I
would check that that interceptor is in the stack used for LoginAction.
-Gabe
On 2/27/07, Paul Saumets | Merge <[EMAIL PROTECTED]> wrote:
I'm having some difficulty passing along params from my action forms with
Struts 2. I have a basic jsp form declared as follows:
<s:form id="loginForm" action="executeLogin" validate="true"
nomespace="/">
<s:textfield id="c_username" name="userName" required="true" />
<s:password id="c_password" name="userPassword" required="true"/>
<s:submit name="login" key="button.login" />
</s:form>
executeLogin is correctly mapped to my LoginAction action class which
looks something like the following:
public class LoginAction extends ActionSupport {
private UserService service;
private String userName;
private String userPassword;
// service injected via Spring
public LoginAction(UserService service) {
this.service = service;
}
public void setUserName(String userName) {
this.userName = userName;
}
/* remaining setters & getters below */
public String execute() {
Boolean ret = service.validateUser(getUserName(),
getUserPassword());
/// more follow up code here
}
}
My understanding of the Struts 2 framework is that when my action is
called the setters on the Action class will be called as well storing my
passed along form vars? Am I wrong on this? What exactly am I doing wrong?
Should I implementing sessionAware and then having to access the request
object?
From reading the Mailreader example I see setters in for username and
password in the MailreaderSupport base class so I don't see why the above
isn't working.
Would be great to get some feedback!
Regards,
Paul