光声明了User类型的属性,用的时候没实例化,起码我没看见,没分配内存地址怎么能传值?没用spring的话就自己new 吧

解决方案 »

  1.   

    if("max".equals(user.getName()) &&"secret".equals(user.getPassword())) 
    改为if("max".equals(getUser().getName()) &&"secret".equals(getUser().getPassword()))看看
      

  2.   

    晕,没看清楚,你这个action应该要实现modelDriven接口,不然数据没有注入~
    <s:textfield name="user.name" label="User name"/> 
        <s:password name="user.password" label="Password"/> 
    user.去掉,直接name和password
      

  3.   

    没看出有什么问题,建议判断前最好加个null判断
      

  4.   

    1、user对象实例化(如果User交给了Spring容器管理则不用):  private User user = new User(); 2、实现ModelDriven接口并在getModel()方法返回user对象:public class LoginX extends ActionSupport implements ModelDrivenpublic Object getModel() {
    return user;
    }
      

  5.   

    实现ModelDriven吧,书上是这么说的
      

  6.   

    有两种方法解决吧
    1.模型驱动方法,实现ModelDriven接口并在getModel()方法返回user对象:
    2.还可以使用类型转换器
      

  7.   

    用 7 楼 给的第一种方法 后出现
    type Status reportmessage No result defined for action tutorial.LoginX and result successdescription The requested resource (No result defined for action tutorial.LoginX and result success) is not available.
    不知是何解?
      

  8.   


    表示Action执行结果为success,但你确没再xml中配置reuslt="success"时该怎么跳转
      

  9.   

    这个问题我在刚学struts2时遇到过你仔细看下面的代码,是些什么错误?
    description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: java.lang.NullPointerException 
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515) 
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422) 你在LoginX 中继承了ActionSupport,目的是为了用SUCCESS,这个程序没错,可是你在struts.xml却自定义了"success",SUCCESS和"success"是不一样的,你看
    <result name="success">/welcome.jsp </result> 
    所以找不到对应的SUCCESS,空指针是肯定的。
    别的没有问题。你可以在LoginX 中用"success"代替SUCCESS,也可以改struts中的"success"为SUCCESS,不要双引号,就可以解决了。解决了记得给我加些分,我没积分下载东东了,哈哈~