今天看了视频学习了三种struts2中action中接收参数的方法,暂时只理解两种,自己实践成功一种,请大家帮忙解决第二种首先版本是2.2.1.1第一种就是在自己实现的action类里面声明几个与参数对应的变量,然后设置setXXX getXXX方法,我通过在execute方法中输出
这几个变量成功第二种就是不是直接在action类里面声明与参数对应的变量,而是持有一个对象的引用,而这个对象就是封装了那几个参数的比如说private User user;然后我在execute方法里面System.out.println("name = " + user.getName());
System.out.println("password = " + user.getPassword());当然我的action类里面也有setUser getUser方法然后我实践的时候老是提示user为空,抛出异常,请问这是什么原因啊?帮忙指点一下 谢谢

解决方案 »

  1.   

    private User user = new User();
      

  2.   


    对象也要 set get! 
      

  3.   


    new 了也没用,我试了, 这样虽然不报空指针错误,但是输出来都是null,真不明白为什么不行
      

  4.   

    实现ModalDriven才用private User user = new User();
    呢,否则不用,我觉得是你上一个页面没传过来吧,传值方法问题。
    ?user.name=a&user.password=8
      

  5.   

      是不是你在页面上定义名字有问题啊
    <input type="text" name="User.name" > 
    <input type="password" name="User.password" > 
      

  6.   

    private User user;
    这里定义的User是什么变量如(user),那么相应的页面上的input的name属性的值也要为 “user.username”这样的,记得是与变量名称(小写的相同的);还有就是 Strust2的配置是否正确;检查
      

  7.   

    5 6 7楼 我觉得就是你们说的问题哦, 我传递的时候就是直接name=xx&password=yy 而不是
    user.name user.password  我估计问题就在这里了  谢谢你们了 明天测试 马上就要熄灯了 ^_^