當我在JSP中使用<%@ include%>指令時,是否有任何方法讓Eclipse語法檢查我包含的文件(或者最佳實踐)。我的意思是,如果我包含父變量中聲明的變量的文件,我會得到一堆關於未聲明的變量的錯誤(合理)。如何讓Eclipse在JSP中的<%@ include%>指令中進行語法檢查?
那麼人們如何解決這個問題呢?
當我在JSP中使用<%@ include%>指令時,是否有任何方法讓Eclipse語法檢查我包含的文件(或者最佳實踐)。我的意思是,如果我包含父變量中聲明的變量的文件,我會得到一堆關於未聲明的變量的錯誤(合理)。如何讓Eclipse在JSP中的<%@ include%>指令中進行語法檢查?
那麼人們如何解決這個問題呢?
在Eclipse中禁用JSP驗證(它一直是failure),或者更好的,只是不使用小腳本。它被認爲是bad practice。將Java代碼保留在真正的Java類中,並始終在JSP中使用taglibs/EL。
你確定你使用的是
<%@ include ... %>
,而不是
<jsp:include ... >?
我想澄清一下,這是你所談論的情景:
includeMe.jsp:
<%@ page language="java" %>
<%
boolean testBoolean = true;
%>
App.jsp:
<%@ page language="java" %>
<%@include file="/WEB-INF/includeMe.jsp"%>
<%
testBoolean = false;
%>
而你在App.jsp文件中的testBoolean上得到了未聲明的變量錯誤?如果是這種情況,我不確定有什麼問題,因爲我無法在Eclipse 3.5中重現此問題(已安裝WTP)。
最好的做法是將所有Java代碼封裝爲標籤,然後在JSP中使用標籤。作爲獎勵,當你這樣做時,你將會把你的java寫入.java文件中,Eclipse的語法將檢查你的語法。你可以找到更多關於標籤的信息from Sun
你的片段的內容將被驗證爲驗證主文件的一部分,這意味着發現的任何錯誤都會被報告回主文件中的include指令。由於不同的原因,您的片段可能是正確的或無效的,這取決於包含它的文件,假設任何文件都包含它。
我正在做相反的事情,在App.jsp中聲明一個變量並訪問includeMe.jsp中的變量。我將把它全部移到Java類和標籤。 – Mason 2010-01-29 00:05:52