小弟我初学struts2 希望大家指点一下  , 为什么我的Action 接不到表单中的值???
ajaxlogin.jsp 页面<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>   
<html>   
  <head>   
    <s:head theme="ajax" debug="true"/>   
  </head>   
  <body>   
    <s:div id="loginDiv" theme="ajax">   
    <div style="width: 300px;border-style: solid">   
      <s:form action="ajaxLogin"  validate="true">   
        <tr>   
          <td colspan="2">   
            Login    
          <td>   
        <tr>   
        <tr>   
          <td colspan="2">   
            <s:actionerror />   
            <s:fielderror />   
          <td>   
        <tr>      
          <s:textfield name="username" label="Login name"/>   
          <s:password name="password" label="Password"/>   
          <s:submit theme="ajax" targets="loginDiv" notifyTopics="/ajaxLogin"/>        
      </s:form>   
    </div>   
    </s:div>   
  </body>   
</html>    为什么我的Action 接不到值?import com.opensymphony.xwork2.ActionSupport;    
import java.util.Date;    
   
/**   
 * Validate a user login.   
 */   
public class Login extends ActionSupport {    
   
    public String execute() throws Exception {    
        System.out.println("Validating login ... ...");    
        System.out.println("User = " + getUsername());                       //  输出为NULL
        System.out.println("Pass = " + getPassword());                       //  输出为NULL
        if (!getUsername().equals("Admin") || !getPassword().equals("Admin")) {    
            System.out.println("Validating error ! User = " + getUsername());    
            addActionError("Invalid user name or password! Please try again!");    
            return ERROR;    
        } else {    
            System.out.println("Validating success !");    
            return SUCCESS;    
        }    
    }    
    // ---- Username property ----    
    /**   
     * Field to store User username.  
     */   
    private String username = null;    
    // ---- Username property ----    
    /**   
     * Field to store User password.  
     */   
    private String password = null;    
   
    public String getPassword() {    
        return password;    
    }    
   
    public void setPassword(String value) {    
        password = value;    
    } public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
}    
   
}    

解决方案 »

  1.   

    lz再检查下你的配置,struts2只看过,没有实际用过
      

  2.   

    没用过,不过AJAX提交如果第一次能得到值后边得不到,这是IE不提交的问题,
    如果一直得不到,不知道,
    如果第一次得到然后就得不到了,可以提交时加个temp=new Date().getTime();
      

  3.   

    2009-3-18 11:33:45 org.apache.tomcat.util.http.Parameters processParameters
    警告: Parameters: Invalid chunk ignored.
    Validating login ... ...
    User = null
    Pass = null
    2009-3-18 11:33:45 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet default threw exception
    java.lang.NullPointerException
    at net.roseindia.Login.execute(Login.java:15)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
    at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
      

  4.   

    说明Action 已经正常执行了 可是接收不到 值空指针