2015-08-15 77 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" %>