2011-08-24 20 views
-1

當我試圖在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 */ 

回答

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'}"> 

JSTL functions標記庫是可以通過下面的taglib聲明的方式:

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 
+0

它不工作:( – birdy

+1

您需要更具體的關於以具體的問題是能夠幫助你。它打印什麼?什麼是長說?你以任何方式瞭解我試圖解釋,以調試問題? – BalusC

+0

cOut工作正常,並且它的打印效果如何,我在cIf中給出了相同的值,但它不起作用:( – birdy

0

嘗試:

<c:if test="${form.test eq 'var'}"> 
+0

你能詳細解釋爲什麼這會永遠有什麼區別?難道你不與''<' and '>不能在JSPX使用becaue它是個預定義XML實體的事實混淆呢?'=='和'eq'應該一樣精細,無論 – BalusC

+0

仍然沒有woking :( – birdy

+0

我不知道爲什麼會發生這種情況,當我試圖打印它的工作,但當我試圖在if語句中給出相同的值時,它不起作用,它有點奇怪,但這是發生了什麼 :( – birdy