2015-08-15 53 views
-3

我遇到了使用核心库的麻烦。 下面是上下文:在TomEE服务器上使用Maven的Spring工具套件(基于Luna 4.4.2的自定义eclipse)。我使用导入 这没有问题。JaveEE核心库意外行为

在导入的页面,我也有其它标签一样 “>链接 谁不工作 我的浏览器是寻找以下网址:。 http://localhost:8080/pro/

一个简单的链接工作完全正常,所以问题位于标签c:

第一个jsp有@taglib声明,导入页面没有。当两个都有@taglib时,没有问题,这就是要点 第二个.jsp被导入第一个,已经有taglib的人,应该不需要复制这个鳕鱼即

我花了一些时间来找出问题的位置,我只是从另一个使用tomcat7运行在标准Eclipse(Luna,4.4.1)上的项目复制这两个页面,并且一切都很好,只有一个@taglib声明。

你能告诉我更多关于这种奇怪的行为吗?

更新:

home文件:

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

(...) 

<c:import url="inc/import.jsp"/> 

它的确定有以下文件: import.jsp文件

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

(...) 

<a href="<c:url value='link' />">link</a> 

这不起作用: import.jsp文件

<%@ page pageEncoding="UTF-8"%> 

(...) 

<a href="<c:url value='link' />">link</a> 
+1

不要描述你的代码。发表它。准确告诉我们你在做什么,你期望发生什么,以及发生了什么。如果有任何错误消息或堆栈跟踪,请将其发布。 –

回答

0

你所看到的完全正常和预期。 <c:import>不是一个静态包含。当用绝对URL调用时,它会向URL发送HTTP请求,获取结果并将其包含在调用页面中。当使用相对URL调用时,它使用RequestDispatcher进行动态包含。

你希望发生,如果你使用的静态包含,这基本上是如同包括JSP的代码被复制和粘贴的第一个内会发生什么:

<%@include file="inc/import.jsp" %>