在jsp中的文本框中处理空值

时间:2011-11-22 12:15:40

标签: java html jsp scriptlet

假设一个文本框从传输对象中获取值,如下所示:jsp:

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

但是,如果getTest返回null,则会显示null。

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

6 个答案:

答案 0 :(得分:3)

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

试试这个,它肯定会奏效。

答案 1 :(得分:2)

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

-noPrintNulls

Shows "null" in jsp expressions as "".

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

答案 2 :(得分:1)

要在JSP中隐藏空格: -

我不确定它会对你有所帮助,但在我的情况下效果很好。

我使用的是web-logic 10.3,我想要隐藏空值的jsp是我的Web应用程序的一部分。

步骤:

  1. 在Package Explorer中查找Weblogic.xml。

  2. 打开此Weblogic.xml。

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

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

  5. 构建和部署应用程序,Null将不再显示在文本框中。

答案 3 :(得分: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()) %>">

答案 4 :(得分: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=\"\">");
}

答案 5 :(得分:0)

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