问题描述
|
嗨,我是Java新手,正在创建一个jsp,并且正在使用scriplet代码。我希望我的对象为空时不显示在屏幕上。
<% if (webApp.getInfo != null) { %> <h6><%=webApp.getInfo()%> <% } %>
当前,它正在检查对象是否为null,但是当我运行JSP时,它仍在页面上显示一行。如何检查webApp.getInfo是否为空并且没有这些标题的行显示或测试显示?
解决方法
<c:if test=\"${!empty str}\">
<h6>...</h6>
</c:if>
注意:
这仅对字符串有意义,对任何对象均无意义
这是JSTL,比scriptlet更可取(来自您的示例)
您的对象需要设置为请求属性。
仅当if子句中包含其他标签时,才需要使用此标签。如果仅是您要输出的字符串,则无需检查-因为BalusC指出这不会显示。
您可以使用servlet容器提供的配置来修剪jsp输出中的白色字符,或者如果使用servlet 3.0-通过web.xml中的<trim-directive-whitespaces>