c:如果标签在正确的情况下无法正常工作
问题描述:
我正在尝试使用c:if
标签,但它在真实情况下不显示任何内容。当if
条件成立时,我应该如何显示任何文字。 这里是我的XHTML代码c:如果标签在正确的情况下无法正常工作
<html>
<body>
<c:if test="#{fileMB.per.getFirstName()}='gul'}" >
<h:outputLabel for="user" value="#{logMB.userExists.getFirstName()}"/>
</c:if>
</body>
</html>
每是登录人的范围变量...
答
事情你的代码错误:
-
您正在使用赋值运算符而不是比较运算符。更不用说,你真的不应该使用带有字符串的比较运算符。所以,你应该比较阅读,而不是
#{fileMB.per.getFirstName().equals('gul')}}
-
你不应该使用JSTL标签与小面来,除非你是绝对相信的,你在做什么。阅读this post并改变你的代码
<h:outputLabel for="user" rendered="#{fileMB.per.getFirstName().equals('gul')}}" value="#{logMB.userExists.getFirstName()}"/>
当然这种方法的整体效益仍然是以选择合适的bean的范围(读:@ViewScoped
)
读
答
你需要有JSTL标签内你的病情。
<c:if test="${salary > 2000}"> <p>My salary is: <c:out value="${salary}"/><p> </c:if>
见多http://www.tutorialspoint.com/jsp/jstl_core_if_tag.htm
你也有密切}不开放标签的标签在你的病情,#而不是$,你应该用双等于比较字符串==