假设一个文本框从传输对象中获取值,如下所示:jsp:
<INPUT TYPE="text" NAME="test" ID="test" value="<%=testTO.getTest()%>">
但是,如果getTest返回null,则会显示null。
如何使用? :使用scriptlet,如果值为null,则显示空白,否则显示从TO返回的值。
答案 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应用程序的一部分。
步骤:
在Package Explorer中查找Weblogic.xml。
打开此Weblogic.xml。
单击Weblogic.xml的JSP选项卡。
在“输出选项”(右上角)下的“JSP”选项卡上,取消选中“打印空”复选框。
构建和部署应用程序,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)
使用EL
或JSTL
表达式。表达式语言为null safe。