【问题标题】:JSTL tags don't evaluate if I import如果我导入,JSTL 标签不评估
【发布时间】:2013-08-17 21:22:47
【问题描述】:

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

<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>

我在主页中使用这个:。

如果我从另一个页面导入 JSTL,有人知道如何使用它吗?

谢谢,佐尔坦

【问题讨论】:

    标签: jstl


    【解决方案1】:

    添加相同的声明

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

    进入您的Header.jsp 文件。

    【讨论】:

      【解决方案2】:

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

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

      注意 '%' 关闭指令。

      【讨论】:

      • 也许你也应该用 '%' 打开它。但它不起作用
      【解决方案3】:

      你可以使用JSP包含指令

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

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

      但是在include action&lt;jsp:include&gt;运行时,被包含的文件会被“执行”,结果内容会被包含在源JSP页面中。


      更新:

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

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

      在您的条件中添加双引号。

      【讨论】:

      • 我试过这个: 但是 TomCat 抛出一个错误页面:“message /registration.jsp(11,1) /Header.jsp(10 ,13) 引号预期描述服务器遇到内部错误,阻止它完成此请求异常 org.apache.jasper.JasperException: /registration.jsp(11,1) /Header.jsp(10,13) 引号预期”如果我不在 Header.jsp 中使用 JSTL,那么 include 工作正常。
      • 你说得对,我对代码做了一些修改: 但是在包含之后结果几乎相同只有这部分改变了:
      猜你喜欢
      • 1970-01-01
      • 2011-02-18
      • 2016-03-19
      • 2023-03-09
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      相关资源
      最近更新 更多