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> 

每是登录人的范围变量...

事情你的代码错误:

  1. 您正在使用赋值运算符而不是比较运算符。更不用说,你真的不应该使用带有字符串的比较运算符。所以,你应该比较阅读,而不是

    #{fileMB.per.getFirstName().equals('gul')}} 
    
  2. 你不应该使用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

你也有密切}不开放标签的标签在你的病情,#而不是$,你应该用双等于比较字符串==

查看更多在JSTL if tag for equal strings