2011-11-22 73 views
2

在文本框中空值假設一個文本框從傳輸對象在JSP採取如下價值:在JSP中處理

<INPUT TYPE="text" NAME="test" ID="test" value="<%=testTO.getTest()%>"> 

但是,如果getTest返回NULL,NULL將被顯示。

如何使用? :使用scriptlet,如果值爲null,則顯示空白,否則從TO返回值。

回答

0

這樣使用它打印空白:

<INPUT TYPE="text" NAME="test" ID="test" value="<%= ((testTO.getTest()==null)?"":testTO.getTest()) %>"> 

確定添加此條件

(&& testTO.getTest().length() == 0) 

如果已經返回一個字符串,如果沒有,你必須使用這個

(&& testTO.getTest().toString().length() == 0) 
<INPUT TYPE="text" NAME="test" ID="test" value="<%= ((testTO.getTest()==null && testTO.getTest().length() == 0)?"":testTO.getTest()) %>"> 
+0

該溶液是不工作...值= 「<%=(testTO.getSomeDt()== NULL) '':?dateFormat.format(testTO.getLastPriceDt())%>」 是投擲錯誤在''爲無效字符.. – Nik

2

如果您使用的是WebLogic Server,則有一個設置(請參閱Using the WebLogic JSP Compiler

-noPrintNulls 

Shows "null" in jsp expressions as "". 

它在這種情況下阻止null您的容器可能具有類似的功能。優點:無需更改代碼。我認爲這也可以在weblogic.xml中設置。

+0

我使用的是websphere 6.1 ..將不得不檢查這樣的功能是否可用... – Nik

0
if(testTO.getTest()!=null) {  
out.print("<input type=\"text\" name=\"test\" id=\"test\" value=\""+testTO.getTest()+"\">");} 
else 
{ 
out.print("<input type=\"text\" name=\"test\" id=\"test\" value=\"\">"); 
} 
+0

你是什麼意思?如果只是詢問**,他不會問**:** - 有條件的操作符。 – Lion

3
testTO.getTest() == null ? "" : testTO.getTest() 

試試這個,它肯定會工作。

1

要隱藏零空間在JSP: -

我不知道它會幫助你或沒有,但它在我的情況下運作良好。

我正在使用網絡邏輯10.3和我想隱藏空值的jsp是我的web應用程序的一部分。

步驟:

  1. 在Package Explorer中找到的weblogic.xml。

  2. 打開此Weblogic.xml。

  3. 單擊Weblogic.xml的JSP選項卡。

  4. 在輸出選項(右上角)下的JSP選項卡上,取消選中「打印空值」複選框。

  5. 構建和部署應用程序否空值將顯示在文本框中。