【问题标题】:How to implement "instanceOf" in JSTL如何在 JSTL 中实现“instanceOf”
【发布时间】:2012-07-06 02:18:56
【问题描述】:

或者说获取类名或获取类型名

这样可以在主要流行的 Web 容器/服务器上运行吗?

谢谢。

【问题讨论】:

    标签: java jsp jstl


    【解决方案1】:

    ${foo.class.name} 返回foo 的完全限定名称。

    但是instanceof 已经是你应该很少在设计良好的 OO 程序中使用的东西,它应该在 JSP EL 中使用更少,其中方法被动态调用而不关心实际类型,最终目标在哪里应该只是生成标记。

    【讨论】:

    • 谢谢。但是${foo.class.name} 似乎无法在 Tomcat7 下工作,直到进行额外的配置更改,不幸的是我没有权限进入。类名检查发生在适用于多个地方的表 tagx 文件中。但是,现在对于特定表,我需要检查对象类名称以输出其字段值。我不知道如何用更好的主意来妥协。
    • 在 tomcat 7 中(因此使用 JSP EL 2.2)您实际上可以执行 ${foo.getClass().name} 并且它可以工作...
    • 如果你想让它同时在 Tomcat 6 和 7 中工作,你有两个选择: - 使用 ${foo['class'].name},它在两个版本中都工作 - 或者配置 Tomcat 7 接受旧格式 -Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
    • 投反对票,因为如果您不使用 instanceof,那么您的模型和视图彼此之间存在硬依赖。
    • @PhilipRego 所以如果你有 ${someModel.foo} 你在模型和视图之间有一个硬依赖关系,但是你不知何故有 ,你不知道吗?这没有任何意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多