1. 程式人生 > >JSP 使用<%@include%>報Duplicate local variable path 錯誤 解決方法

JSP 使用<%@include%>報Duplicate local variable path 錯誤 解決方法

錯誤提示 cat not 情況 cal quest epon bsp multi

錯誤提示:
Multiple annotations found at this line:
- Duplicate local variable path
- Duplicate local variable
basePath

重復變量,
因為<%@include%>引進的是代碼,把代碼包含進來,而新進JSP時,會默認生成
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<base href="<%=basePath%>">
這二句代碼,所以用<%@include%>引進頁面是就報重復變量 basePath
解決方法,把要引進頁面這句去掉就行.

對於靜態包含,<%@include%>,中包含的文件,只是簡單的嵌入到主文件中,就是在jsp頁面轉化成Servlet時才嵌入到主文件中,因為運行的結果是只生成了一個Servlet。

而對於動態包含<jsp:incude>如果被包含文件是動態的,那麽就會生成兩個Servlet,也就是被包含文件也要經過jsp引擎編譯執行生成一個Servlet,兩個Servlet通過request和reponse進行通信。如果被包含的文件是靜態的,那麽這種情況和<%@include>就很相似,只生成了一個Servlet,但是他們之間沒有進行簡單的嵌入,而依然是通過request和reponse進行的通信。

JSP 使用<%@include%>報Duplicate local variable path 錯誤 解決方法