I'm trying the WebWork2 and I follow the Quick Start Guide to do. The program is successful to compile. But I found that the form parameter didn't set to LoginAction. After I add the debug message. I found that the variables, username and password, are null. hasErrors() is report true. Pls advise and Thank you very much.
login.jsp ========= <%@ taglib prefix="ww" uri="webwork" %> <%@ include file="includes/header.inc" %> <ww:form name="'myForm'" action="'loginAction.action'" method="'post'"> <ww:textfield label="'username'" name="'username'"></ww:textfield> <ww:password label="'password'" name="'password'"></ww:password> <input type="submit" value="Login"> </ww:form> <%@ include file="includes/footer.inc" %> LoginAction.java ================ package com.myproject.action; import java.util.Map; import javax.security.auth.Subject; import javax.security.auth.login.LoginContext; import com.opensymphony.xwork.ActionContext; import com.opensymphony.xwork.ActionSupport; import org.jboss.security.auth.callback.UsernamePasswordHandler; /** * @author thomas * * To change the template for this generated type comment go to Window - * Preferences - Java - Code Generation - Code and Comments */ public class LoginAction extends ActionSupport { protected String username; protected String password; public Subject subject; public void setUsername(String username) { System.out.println(username); this.username = username; } public String getUsername() { return this.username; } public String getPassword() { return password; } public void setPassword(String password) { System.out.println(password); this.password = password; } public Subject getSubject() { return subject; } public String execute() throws Exception { if (subject != null) { return SUCCESS; } if (hasErrors()) { System.out.println(username + " | " + password); System.out.println("error"); return INPUT; } else { try { System.out.println(username + " | " + password); UsernamePasswordHandler handler = new UsernamePasswordHandler(username, password); LoginContext loginContext = new LoginContext("extranet", handler); loginContext.login(); Subject subject = loginContext.getSubject(); if (subject != null) { ActionContext actionContext = ActionContext.getContext(); Map session = actionContext.getSession(); session.put("loginContext", loginContext); return SUCCESS; } else { return INPUT; } } catch (Exception exception) { LOG.error(exception); return INPUT; } } } } xwork.xml ========= <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd"> <xwork> <include file="webwork-default.xml"/> <package name="default" extends="webwork-default"> <action name="loginAction" class="com.myproject.action.LoginAction"> <result name="input" type="dispatcher"> <param name="location">login.jsp</param> </result> <result name="success" type="dispatcher"> <param name="location">menu.jsp</param> </result> <interceptor-ref name="validation"/> </action> </package> </xwork> LoginAction-validation.xml ========================== <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd"> <validators> <field name="Username"> <field-validator type="requiredstring"> <message>Username is required.</message> </field-validator> </field> <field name="Password"> <field-validator type="requiredstring"> <message>Password is required.</message> </field-validator> </field> </validators> Console output ============== 18:57:13,161 INFO [STDOUT] null | null 18:57:13,162 INFO [STDOUT] error ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork