@JFinal 你好,想跟你请教个问题:
代码
----------------------
@Before(BizStatusValidator.class)
public void update() {
System.out.println("para is "+ getPara());
BizStatus.dao.findById(getParaToInt()).update();
redirect("bizstatus");
}
--------------------------
[ERROR]-[Thread: qtp19331111-20]-[com.jfinal.core.ActionHandler.handle()]: /bizstatus/update
java.lang.NullPointerException
at com.mc.backserver.web.BizStatusController.update(BizStatusController.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.jfinal.core.ActionInvocation.invoke(ActionInvocation.java:55)
at com.jfinal.validate.Validator.intercept(Validator.java:60)
at com.jfinal.core.ActionInvocation.invoke(ActionInvocation.java:51)
at com.jfinal.core.ActionHandler.handle(ActionHandler.java:77)
at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:72)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:365)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:937)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:998)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Unknown Source)
请问你不检查findById是否找到对象就update了?这么明显的异常都看不懂的话,建议从Java基础补起吧
<aclass='referer'target='_blank'>@JFinal你好,
测试的次序如下:
edit-》update
上面的update方法中,换用getModel()方法依然存在问题:
getModel(BizStatus.class).update();
打印getModel()的结果为:
<arel="nofollow">com.mc.backserver.web.BizStatus<aclass='referer'target='_blank'>@0{}
但同样的代码,其他模块可以update成功。检查数据库表也没发现问题,请教@JFinal兄是何问题?
找到问题了。通过getModel()才行,而且发现页面为bizstatus,需要在getModel(BizStatus.class,"bizstatus").update,如果直接调用getModel(BizStatus.classs).update是没响应的。
<divclass="ref">找到问题了。通过getModel()才行,而且发现页面为bizstatus,需要在getModel(BizStatus.class,"bizstatus").update,如果直接调用getModel(BizStatus.classs).update是没响应的。
可能是这句返回的是null:<spanstyle="font-family:微软雅黑,Verdana,sans-serif,宋体;font-size:14.399999618530273px;line-height:22px;background-color:#FFFFFF;">BizStatus.dao.findById(getParaToInt()) 然后调用null的update()方法就出错了<aclass='referer'target='_blank'>@jFinal兄,是这样的么?如同demo里面的过程一样,先edit后update。在edit时候通过url传para过来;在update方法时,只能在Model中传参数。不知道是否为@jfinal兄的设计初衷?版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。