在JSP中处理

问题描述:

在文本框中空值假设一个文本框从传输对象在JSP采取如下价值:在JSP中处理

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

但是,如果getTest返回NULL,NULL将被显示。

如何使用? :使用scriptlet,如果值为null,则显示空白,否则从TO返回值。

这样使用它打印空白:

<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

该溶液是不工作...值= “” 是投掷错误在''为无效字符.. – Nik

如果您使用的是WebLogic Server,则有一个设置(请参阅Using the WebLogic JSP Compiler

-noPrintNulls 

Shows "null" in jsp expressions as "". 

它在这种情况下阻止null您的容器可能具有类似的功能。优点:无需更改代码。我认为这也可以在weblogic.xml中设置。

+0

我使用的是websphere 6.1 ..将不得不检查这样的功能是否可用... – Nik

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

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

试试这个,它肯定会工作。

使用ELJSTL表达。表达式语言是null safe

要隐藏零空间在JSP: -

我不知道它会帮助你或没有,但它在我的情况下运作良好。

我正在使用网络逻辑10.3和我想隐藏空值的jsp是我的web应用程序的一部分。

步骤:

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

  2. 打开此Weblogic.xml。

  3. 单击Weblogic.xml的JSP选项卡。

  4. 在输出选项(右上角)下的JSP选项卡上,取消选中“打印空值”复选框。

  5. 构建和部署应用程序否空值将显示在文本框中。