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

Reply via email to