Jsp 正确语法以比较JSTL中的值<;c:如果测试=${values.type}==';对象'&引用&燃气轮机;
我试图用JSTL执行一个Jsp 正确语法以比较JSTL中的值<;c:如果测试=${values.type}==';对象'&引用&燃气轮机;,jsp,if-statement,jstl,el,Jsp,If Statement,Jstl,El,我试图用JSTL执行一个if语句 下面是我的代码(变量值是包含用户定义对象的ArrayList,类型是该对象的私有属性,使用公共getter/setter方法): test属性中零件的正确语法是什么。这些文件对那部分没什么帮助 谢谢。比较需要在EL${…}内部进行全面评估,而不是外部 <c:if test="${values.type eq 'object'}"> 另见: 顺便说一句,与具体问题无关,如果我猜你的意图是正确的,你也可以打电话,然后,而不是添加一个自定义g
if
语句
下面是我的代码(变量值是包含用户定义对象的ArrayList,类型是该对象的私有属性,使用公共getter/setter方法):
test
属性中零件的正确语法是什么。这些文件对那部分没什么帮助
谢谢。比较需要在EL
${…}
内部进行全面评估,而不是外部
<c:if test="${values.type eq 'object'}">
另见:
顺便说一句,与具体问题无关,如果我猜你的意图是正确的,你也可以打电话,然后,而不是添加一个自定义getter
<c:forEach items="${list}" var="value">
<c:if test="${value['class'].simpleName eq 'Object'}">
<!-- code here -->
</c:if>
</c:forEeach>
另见:
getType()
必须返回一个字符串才能让它工作。另外,它是区分大小写的。这就是我在第二个示例中使用对象
(大写)的原因。打印${values.type}
plain以确保无误。我检查了所有内容两次、三次等,所有内容看起来都很好。问题是无法获取值。。。我已经检查过了,这部分正在工作,问题是如果type=='number'。。。我会继续寻找线索。谢谢,一切都解决了:)这是一个漫长的过程,没有一个与问题真正相关,只是常识,所以我不会解释。
<c:if test="#{bean.booleanValue}" />
<c:if test="#{bean.intValue gt 10}" />
<c:if test="#{bean.objectValue eq null}" />
<c:if test="#{bean.stringValue ne 'someValue'}" />
<c:if test="#{not empty bean.collectionValue}" />
<c:if test="#{not bean.booleanValue and bean.intValue ne 0}" />
<c:if test="#{bean.enumValue eq 'ONE' or bean.enumValue eq 'TWO'}" />
<c:forEach items="${list}" var="value">
<c:if test="${value['class'].simpleName eq 'Object'}">
<!-- code here -->
</c:if>
</c:forEeach>