如果我导入,JSTL标记不会评估

时间:2013-08-15 16:12:36

标签: jstl

我在页面上使用动态包含:

<div class="top">
<jsp:include page="Header.jsp"/>
</div>

这是Header.jsp中的重要部分:

<H4>
JSTL TAG Test: </br>
  <c:if  test="${sessionScope.username != null}" >
  <c:out value="Hello, ${sessionScope.username}"/>  
</c:if>
</h4>

我的主页来源的结果是:

<H4>
JSTL TAG Test: </br>
  <c:if  test=Swank != null >
  <c:out value="Hello, Swank"/> 
</c:if>
</h4>

我用它:&lt;%@ taglib uri =“http://java.sun.com/jsp/jstl/core”prefix =“c”%&gt;在主页面。

如果我从其他页面导入JSTL,是否有人知道如何使用JSTL?

谢谢,Zoltán

3 个答案:

答案 0 :(得分:1)

添加相同的声明

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

进入Header.jsp文件。

答案 1 :(得分:0)

您可以使用 JSP include指令

解决问题
 <%@ include file="Header.jsp" %>

因为include指令中给出的文件内容原样是pasted,所以在使用JSP include伪指令的地方。

但是在包含操作 <jsp:include>在运行时,包含的文件将被“执行”,结果内容将包含在soure JSP页面中。


<强>更新

在JSTL中,条件应写在双引号内。

<c:if test="${sessionScope.username} != null"></c:if>

在您的情况下添加双引号。

答案 2 :(得分:0)

我同意给出的答案,只是稍作修改:

<@include file="Header.jsp" %>

注意'%'关闭指令。