Jsp 如何从Adobe CQ5中的JCR值中检查null。。?

Jsp 如何从Adobe CQ5中的JCR值中检查null。。?,jsp,adobe,components,aem,jcr,Jsp,Adobe,Components,Aem,Jcr,大家好,我是新的Adobe CQ5,我从Adobe CQ5组件中的JCR获取值,值呈现良好,但现在要检查null,我这样做: <% if(<%= properties.get("videoImage") %> != null) { <img src=<%= properties.get("videoImage") %> /> } %> } %> 但它会产生一个错误,任何人都能指出我做错了什么 我想

大家好,我是新的Adobe CQ5,我从Adobe CQ5组件中的JCR获取值,值呈现良好,但现在要检查null,我这样做:

  <% if(<%= properties.get("videoImage") %> != null)
     {
       <img src=<%= properties.get("videoImage") %> />
     }
  %> 

}
%> 

但它会产生一个错误,任何人都能指出我做错了什么

我想问题是您没有正确终止
scriptlet

  <% if(properties.get("videoImage") != null)
     { %> 
       <img src=<%= properties.get("videoImage") %> />
   <%}
  %> 

/>
不要在jsp中混合使用
html
Java
代码


阅读

这是实现它的更好方法

<% pageContext.setAttribute("videoImage", properties.get("videoImage", ""));%>
    <c:if test="${not empty videoImage}">
        <img src="${videoImage}" />
    </c:if>

理想情况下,将所有变量设置为session、request、page context属性,放在顶部的一个位置,您可以在组件jsp中使用它,或者更干净的方法是在jsp中声明所有变量,并使用
使用:


或从JSP切换到(推荐选项):



如何初始化
属性
对象?我在CRX中将此名称声明为属性,我理解得很好,但在检查null
属性时遇到问题
对象已设置为页面属性,因此如果在JSTL指令中使用
属性.videoImage
,则第一行是多余的。有关更多详细信息,请参阅我的回复。您能建议我如何检查锚href的相同空条件吗
<c:if test="${not empty properties.videoImage}">
    <img src="${properties.videoImage}" />
</c:if>
<img data-sly-test="${properties.videoImage}" src="${properties.videoImage}" />