检查scriptlet对象是否存在/是否在JSP中定义

时间:2018-11-10 11:26:05

标签: java jsp liferay portlet

文件a.jsp具有代码:

<%
 Object OBJECT = smt...
%>

<jsp:include page="c.jsp"/>

文件c.jsp具有代码:

<%
   do smth with OBJECT 
%>

文件b.jsp具有代码:

<jsp:include page="c.jsp"/>

问题是b.jsp没有用于创建/初始化对象的代码,并且在工作流应假定应渲染b.jsp的情况下,存在一个“对象”  无法解析为变量”错误。

如何检查c.jsp页面上下文中是否存在对象?

1 个答案:

答案 0 :(得分:0)

您可以在Liferay中使用<c:if /> taglib。在jsp文件的顶部插入以下行:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

然后您可以按以下方式使用taglib:

<c:if test="<%= object != null %>">
    <!-- HTML elements -->
    <%
        //scriptlet
    %>
</c:if>