在页面会报空指针,而后台会报这个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