2016-03-02 47 views
1

我對包含標籤有一些疑問。JSP上包含多個標籤

使用像?

<c:choose> 
    <c:when test="${info == 'view_users'}"> 
     <jsp:include page="/WEB-INF/jsp/admin/view_users.jsp" /> 
    </c:when> 
    <c:when test="${info == 'view_products'}"> 
     <jsp:include page="/WEB-INF/jsp/admin/view_products.jsp" /> 
    </c:when> 
    <c:when test="${info == 'edit_product'}"> 
     <jsp:include page="/WEB-INF/jsp/admin/edit_product.jsp" /> 
    </c:when> 
    <c:when test="${info == 'view_categories'}"> 
     <jsp:include page="/WEB-INF/jsp/admin/view_categories.jsp" /> 
    </c:when> 
</c:choose> 

有時候我有個例外"JasperException: Unable to compile class for JSP"。如果我使用<%@ include文件標籤,我的問題是否會得到解決?還是我需要放棄這樣的結構?所有包含的頁面都有固定的結構,不是動態的

+0

請發佈編譯錯誤。 –

回答

1

該結構可以簡化,但它不會解決您的編譯問題。

<c:import url="/WEB-INF/jsp/admin/${info}.jsp" /> 

相反委派這個邏輯控制器(使用MVC)來決定應返回的視圖和正確初始化視圖。

+0

爲什麼不必要的改變到c:import? – BalusC

+0

@BalusC它有什麼問題?我更喜歡c:import jsp:include。 –

+0

什麼都沒有。這只是一個不必要的改變,讓初學者感到困惑,沒有任何解釋變化背後的理由。 – BalusC