@JFinal 你好,想跟你请教个问题:
在做一个项目,是从1.8开始开发的;看到1.9的升级后,第一时间就更新了版本,但升级后,经常会出现一个查询出来的列表,就是List<Record>的结果集,返回到页面上,使用JSTL进行遍历输出的时候,有属性会报错提示字段不存在,但出错的字段是存在的,比如控制台显示如下信息:
com.jfinal.render.RenderException: org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: The class 'com.jfinal.plugin.activerecord.Record' does not have the property 'status'. at com.jfinal.render.JspRender.render(JspRender.java:69) at com.jfinal.core.ActionHandler.handle(ActionHandler.java:92) 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.headerComplete(AbstractHttpConnection.java:926) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 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(Thread.java:745)
而且我发现通常只有status这个字段会出现找不到的时候,我在处理数据库查询的返回结果集的时候,有取出该字段,去手动做代码转换中文,再将转换后的中文使用新的字段放入结果集中用于页面输出时显示中文状态信息;
还有就是通常这个问题,如果重启了服务器,问题就不出现了,而隔三差五的就会出来一样,这么不稳定的情况,肯定不行啊!
请 @JFinal 帮忙分析一下问题,是不是“status”这个字段是关键字;还是查询出来的结果集,不能进行读取某属性后,再放入新的属性,这样对结果集有进行手动操作后放回页面会出现属性缺失的情况?
到家后我看看你的代码<divclass='ref'>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。