$ {form.test}打印“var”,但$ {form.test =='var'}始终为假
问题描述:
当我试图在JSP中打印一个值时,它打印的值为“var”但是当我试图在使用相同的值,如果条件似乎并不奏效。请有人帮助我... :(:(
<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 */
答
应该做工精细,假设这些双引号不是值的一部分(即你看到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'}">
的JSTL functions标记库是可以通过下面的taglib声明的方式:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
它不工作:( – birdy
您需要更具体的关于以具体的问题是能够帮助你。它打印什么?什么是长说?你以任何方式了解我试图解释,以调试问题? – BalusC
cOut工作正常,并且它的打印效果如何,我在cIf中给出了相同的值,但它不起作用:( – birdy