2016-03-02 50 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