spring21cn
2008-09-26 09:58 阅读 271
已采纳

Hibernate外键许为NULL,JSP如何取值。

前提:

  1,Hibernate设置:

      一个主表A,其中有一个字段外键关联一个基础信息表B,容许为NULL。延迟加载。

  2,DAO

      直接查询主表A,返回主表A的值对象。

  3,系统使用框架:

      SSH

问题:

  在JSP中,直接使用:${主表A.信息表B.外键字段的名称} 时,出错。



请问如何解决。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    weixin_42512092 weixin_42512092 2008-09-27 19:57

    恩,在<%@page%>里面加isELIgnored='false'.先让jstl能用。
    而jstl遇到错误只是不显示而已,不会报错的。
    这就可以符合你的需求了:有值就显示,遇到null就不显示

    点赞 评论 复制链接分享
  • wxjiaaa wxjiaaa 2008-09-26 10:07

    外键允许为空……

    你为啥不在插入的时候NVL一下给个默认值什么的,再在信息表里弄个默认值对应下……

    点赞 评论 复制链接分享
  • sunjhgq sunjhgq 2008-09-26 12:19

    那你在页面上判断一下不就可以了呀

    点赞 评论 复制链接分享
  • aidiyuxin aidiyuxin 2008-09-26 16:02

    你的tomcat是什么版本?
    6.0以下是不知道EL语法的
    你看看的tomcat是不是6.0的

    点赞 评论 复制链接分享
  • iteye_18756 iteye_18756 2008-09-27 13:42

    那你查询的时候 就查询不为null的数据?

    点赞 评论 复制链接分享
  • kyo100900 kyo100900 2008-09-28 08:55

    [quote]

    问题:
    在JSP中,直接使用:${主表A.信息表B.外键字段的名称} 时,出错。

    [/quote]

    EL不和OGNL一样,OGNL如果发现引用的对象为NULL,会自动反射根据无参构造函数造出一个来,所以不会出错。看你用的是SSH,无法享受OGNL,那么就加判断吧。

    点赞 评论 复制链接分享

相关推荐