问题是这样的!
我在登陆页:login.jsp 里有一个表单:
<form action="user2Action.action">
                   <input type = "text" name="user"/>
<input type = "submit" value = "提交">
</form>有user2Action类
有一个字符转换的类UserConverter另外有一个User的类主要的功能是把表单里提交的数据含有“;”的数据分开,然后放到User类型的对象里,再从控制台里打印出来!问题是:当我修改了:  <input type = "text" name="user"/>
改为                  <input type = "text" name="myuser"/>
而且对应的UserConverter,user2Action类里的user都改为myuser
在执行的时候浏览器报如下错误:
java.lang.NullPointerException
com.zege.struts2.user2Action.execute(user2Action.java:20)
请问这是什么原因呢?from里的user和user2Action,UserConverter里的user是什么关系他们代码如下:User类:
package com.zege.bean;public class User
{
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}UserConverter类:package com.zege.converter;import java.lang.reflect.Member;
import java.util.Map;
import java.util.StringTokenizer;import com.zege.bean.*;
import ognl.DefaultTypeConverter;public class UserConverter extends DefaultTypeConverter
{ @Override
public Object convertValue(Map context,Object value, Class toType) {
if(User.class==toType)
{
String[] str =(String[])value;
String firstValue=str[0];
StringTokenizer st=new StringTokenizer(firstValue,";");
String username=st.nextToken();
String password=st.nextToken();
User user=new User();
user.setName(username);
user.setPassword(password);
return user;
}
return null;
}

}user2Action类package com.zege.struts2;import com.opensymphony.xwork2.ActionSupport;
import com.zege.bean.User;public class user2Action extends ActionSupport
{
private User user; public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
}

public String execute() throws Exception 
{
System.out.println(user.getName());
return SUCCESS;
}

}