当我尝试在JSP中打印一个值时,它会打印名为“var”的值,但是当我尝试在if条件中使用相同的值时,它似乎不是工作。请有人帮助我...... :( :(
<c:out value="${form.test}" /> /* for printing and it's printing "var"*/
<c:if test="${form.test== 'var'}"> /* for if condition which is not working */
答案 0 :(得分:0)
它应该可以正常工作,假设那些双引号不是值的一部分(即你看到的是var
,而不是"var"
)。也许这个值周围有一些悬空的空白?
您可以通过以下方式调试其中一种:
<pre>|<c:out value="${form.test}" />|</pre> <!-- Should print |var| -->
和
<c:out value="${fn:length(form.test)}" /> <!-- Should print 3 -->
如果它确实是空白并且您无法在servlet / SQL端修剪它,请考虑使用fn:trim()
:
<c:if test="${fn:trim(form.test) == 'var'}">
以下taglib声明可以使用JSTL functions taglibrary:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
答案 1 :(得分:0)
尝试:
<c:if test="${form.test eq 'var'}">