比较 JSTL 中的值的正确语法
发布于 2024-10-12 10:16:22
字数 570
浏览 2
评论 0
原文
我有一个 if
语句,我正在尝试使用 JSTL 执行该语句。
我的代码如下(变量值是一个 ArrayList,其中包含用户定义的对象,类型是该对象的私有属性,具有公共 getter/setter 方法):
<c:forEach items="${list}" var="values">
<c:if test="${values.type}=='object'">
<!-- code here -->
</c:if>
</c:forEeach>
测试中部分的正确语法是什么
属性。这些文档对这部分并没有真正的帮助 http: //download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/index.html
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
比较需要在 EL
${ ... }
内部进行完全评估,而不是在外部。至于文档,那些
${}
东西不是 JSTL,而是 EL(表达式语言),它本身就是一个完整的主题。 JSTL(与所有其他 JSP 标记库一样)只是利用它。您可以在此处找到更多 EL 示例。另请参阅:
顺便说一下,与具体问题无关,如果我猜你的意图是正确的,你可以也只需调用
Object#getClass ()
然后Class#getSimpleName()
而不是添加自定义 getter。另请参阅:
The comparison needs to be evaluated fully inside EL
${ ... }
, not outside.As to the docs, those
${}
things are not JSTL, but EL (Expression Language) which is a whole subject at its own. JSTL (as every other JSP taglib) is just utilizing it. You can find some more EL examples here.See also:
By the way, unrelated to the concrete problem, if I guess your intent right, you could also just call
Object#getClass()
and thenClass#getSimpleName()
instead of adding a custom getter.See also: