2

假设一个文本框在 jsp 中从 Transfer Object 中获取值,如下所示:

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

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

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

4

6 回答 6

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

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

于 2011-11-22T13:16:00.353 回答
2

如果您使用的是 WebLogic Server,则有一个设置(请参阅使用 WebLogic JSP 编译器

-noPrintNulls

Shows "null" in jsp expressions as "".

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

于 2011-11-22T12:45:24.247 回答
1

在 JSP 中隐藏空空格:-

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

我正在使用 web-logic 10.3,我想在其中隐藏空值的 jsp 是我的 web 应用程序的一部分。

脚步:

  1. 在包资源管理器中找到 Weblogic.xml。

  2. 打开这个 Weblogic.xml。

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

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

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

于 2012-10-10T13:27:34.090 回答
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()) %>">
于 2011-11-22T12:25:05.507 回答
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=\"\">");
}
于 2011-11-22T12:54:39.847 回答
0

使用ELJSTL表达。表达式语言是空安全的。

于 2011-11-22T14:11:34.613 回答