Warning Error user.userId value userid 出现错误ognl.OgnlException: target is null for setProperty(null, "userid", [Ljava.lang.String;@19af9e98)

在页面会报空指针,而后台会报这个ognl.OgnlException..

1,检查UserAction中的getters&setters是否存在,正确

2,jsp页面传参数时别忘了用user.username      <input type = "text" name = "user.username">

3,在UserAction中一定要写private User user;而不能写private User u;.与第二条中的user要对应

  补充:其实不是这样的Struts只认Action中user的getset方法的名字,例如:jsp按照第二条这么写,那么UserAction中可以写private User user也可以写private User u;但是get和set方法必须是getUser()和setUser();

  现在想起来马士兵提的那个问题了,Struts认的是方法名

4,在Action中接受属性的model不用new

5,网上有人跟在struts.xml里设置devMode为false有关

上面引用原帖:http://www.cnblogs.com/dirkmurphyjava/archive/2013/01/16/2863562.html

一般是上面这些错误,其实在struts.xml中不用配置json-default,使用默认的<package name="default" namespace="/" extends="struts-default">也可以搞定json对象配置

补:一般前台html或者extjs中如果传递的参数使用了user.username,user.userid,那么后台用配置User的user并包含get,set必须,否则抛出错误,并且后台在使用参数事,通过user对象获取,不要用request.getParameter("user.username")这样的获取参数,否则会抛出上面的错误,

如果前台没有用到user.username,那么后台可以使用request.getParameter('"usename")方法获取结果.

希望碰到这个问题的同学可以解决,感谢原帖,和实例:http://www.open-open.com/lib/view/1333634560436

posted @ 2013-10-17 15:52  曹守鑫  阅读(524)  评论(0编辑  收藏  举报