2011-03-25 99 views
1

我正在嘗試(並學習)構建一個java web框架,並在開發基於數據庫內容的代碼生成器的過程中。在製作過程中,我陷入了一個困難,我不知道如何解決它。爲什麼我的包含JSP文件無法正確處理?

首先,我想使用創建的所有頁面下面index.jsp

<body> 
<%@ include file="header.jsp" %> 
<hr/> 
<%@ include file="body.jsp" %> 
<hr/> 
<%@ include file="footer.jsp" %> 
</body> 

而且,在body.jsp,我希望它是這樣的:

<jsp:include page="${application_modul}" %> 

哪裏application_modul是在其控制器中以這種方式定義的屬性:

request.setAttribute("application_modul","user_account\\view_user_account.jsp"); 

它可以正確地找到文件,但處理的jsp不是我所期望的。在這裏:

<c:forEach items="[[email protected], [email protected]]" var="item" varStatus="status" > 
<tr> 
.... 

你可以看到JSTL的forEach的物品屬性,得到了它的變量名(的toString())...

任何想法是什麼問題????

我希望我能正確描述我的問題

非常感謝!

PS: 我已經爲此創建了一個快速修復,但並不是我想要的。在生成view_user_account.jsp,我不喜歡這樣寫道:

<body> 
<%@ include file="header.jsp" %> 
<hr/> 
<c:forEach items="${row}" var="item" varStatus="status" > 
<tr> 
.... 
<hr/> 
<%@ include file="footer.jsp" %> 
</body> 

你可以看到,我在這裏創建了整個文件...

編輯: PS:$ {}行是ArrayList人口與某些表的數據

回答

3

因此,總結您的問題在一個單句中,JSTL標記沒有被解析,並且它們在生成的HTML輸出中最終顯示爲純文本?

您需要在JSP頁面的頂部聲明JSTL taglib,在該頁面中使用JSTL標籤來讓它們運行。對於JSTL core taglib,那將是

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
+0

:)是它是;)我會檢查它,儘管我認爲我已經做到了...... :)或者不是?讓我們看看。謝謝 – swdev 2011-03-25 02:35:51

+0

它的工作原理!謝謝。非常感謝! – swdev 2011-03-25 07:52:54

0

我不知道,但嘗試......

的index.jsp

<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" /> 

+0

由@BalusC給出的解決方案很簡單...我應該已經能夠知道它:(但是,那是什麼Stackoverflow的。呵呵。謝謝 – swdev 2011-03-25 07:53:51

相關問題