Code Bye

使用Struts2时,后台action中的对象总是null

 

前台debug标签中显示,后台action中的一个分页对象总是null,但是在后台相应的操作对象的方法中打印输出这个对象确实有,请问在什么情况下才会出现对象null,struts2中不是类级属性,只要访问一个方法其他相应对象都会有值吗?求指教,求讨论。。。


10分
你的那个分页对象不是类属性吧,或者是没有提供get方法吧。
你说的只要访问一个方法其他对象是否有值问题,如果你没有进行赋值,当然就没有值咯,或者就是自动赋的初始值了。
引用 1 楼 xiangnan129 的回复:

你的那个分页对象不是类属性吧,或者是没有提供get方法吧。
你说的只要访问一个方法其他对象是否有值问题,如果你没有进行赋值,当然就没有值咯,或者就是自动赋的初始值了。

提供是提供了,但是在get方法中只写了return this.XXX,,,真正赋值是在别的方法中,,页面调用时是不是只会调用相应的get方法呢。。。


10分
可能是你没有提供get和set方法,或者你提供了get和set方法,但是前台页面的字段名和model中声明的字段名不一样,这样的话,在后台就需要自己获取了。例如你后台的字段名为userName,而jsp中的属性为name,那么在后台获取时,就需要通过name属性自己获取。
引用 3 楼 lichunyu7199 的回复:

可能是你没有提供get和set方法,或者你提供了get和set方法,但是前台页面的字段名和model中声明的字段名不一样,这样的话,在后台就需要自己获取了。例如你后台的字段名为userName,而jsp中的属性为name,那么在后台获取时,就需要通过name属性自己获取。

这些低级错误已经检查了,没有发现

报了空指针异常没
引用 2 楼 bbos1994 的回复:
Quote: 引用 1 楼 xiangnan129 的回复:

你的那个分页对象不是类属性吧,或者是没有提供get方法吧。
你说的只要访问一个方法其他对象是否有值问题,如果你没有进行赋值,当然就没有值咯,或者就是自动赋的初始值了。

提供是提供了,但是在get方法中只写了return this.XXX,,,真正赋值是在别的方法中,,页面调用时是不是只会调用相应的get方法呢。。。

那你页面在用这个属性之前,后台代码是否会走有关这个属性的逻辑代码部分了。如果根本没有走赋值的那块代码,那肯定是null,建议debug一下,看看,程序走的流程和走的时候各个属性的具体值。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明使用Struts2时,后台action中的对象总是null