开发者社区> 问答> 正文

@JFinal controller setAttr 一个树状结构的数据对象到页面?报错

我的需求是这样的   就是典型的部门 案例  部门 有1~多个子部门, 有可能数据是  dept(1) 的children(2) 里还有children(3)  但是当我 用jsp c标签 迭代到第二级别时就没法了 就报错  说 model 没有这个字段  貌似 就变回el 访问 get set  的模式了,但是在(1)处,又不报错,我一看源代码 作者的render 只对 第一级的支持了model  到传统 get set的支持。求解 ?我现在的解决方案 是 在model 里面添加对应的get方法 从model 中取得 值,呵呵 貌似 不怎么规范

展开
收起
爱吃鱼的程序员 2020-06-22 22:34:54 552 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

       这是因为Jstl数据读取能力太弱造成的,JspRender仅仅是只加强了一点这方面的能力而已,以后会考虑让JspRender支持多级model转换。

      目前最好的办法就是弃用jsp而使用freemarker或velocity。

    额……不讨论了,过几天我写个博客……JspRender不仅没有削弱对jsp的支持,恰好相反是增强了它的数据读取能力。而楼主碰到的问题是仅仅是jsp的问题,JspRender可以再将对jsp的能力再增强些,这样大家就不会误解是jfinal的问题了就如楼主的问题,为了少写代码,削弱了对jsp的支持,这……要适度,度的把握非常重要,我一直赞成java的中庸之道。spring其实也是中庸的典范。额,model一般和数据库表字段对应,日常也就2,30个字段,ide也可以直接把表反转成model,不用手写一行代码。如果遇到特殊需求,例如为null返回6,使用map就不好处理了。如果遇到复杂对象的update,save.map还是有局限性的

    我相信jfinal会加上getset方法的.如果只是为了简洁而去掉getset,以后还会加上.

    http://www.9iu.org/2012/12/14/spring_super.html

    回复 @屁屁果:用上jfinal超过一周你就不会再去用spring了,是永远不再想,我自己用spring好多年,亲身体会额,我已经调试过jfinal源码,如果是自己的小项目,我会使用jfinal,稍微复杂点的,我会使用spring建议用JFinal做个小项目试用一下,相信你会很快弃用Spring,已经有很多Spring开发者转投JFinal怀抱了:)
    2020-06-22 22:35:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ui-model,跨框架复用 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多