我們將HTML標記存儲在XML文檔中,並使用JiBX解析。我們也使用Spring,當這些對象中的一個被添加到模型中時,我們可以通過EL在JSP中訪問它。評估請求屬性中的EL表達式
${model.bookshelf.columnList[0].linkList[0].htmlMarkup}
沒什麼突破性的。但是如果我們想要在HTML標記中存儲EL表達式呢?例如,如果我們想要存儲以下鏈接呢?
<a href="/${localePath}/important">Locale-specific link</a>
...並將其顯示在其中LocalePath是請求屬性的JSP中。
或者更有趣的是,如果我們想存儲以下內容呢?
The link ${link.href} is in column ${column.name}.
...,並顯示它的嵌套JSP的forEach內部...
<c:forEach var="column" items="${bookshelf.columnList}">
<c:forEach var="link" items="${column.linkList}">
${link.htmlMarkup}
</c:forEach>
</c:forEach>
在請求屬性這些EL表達式從未評估。有沒有辦法讓他們評估?像「eval」標籤?令牌替換在第一個例子中起作用,但不在第二個例子中,並且不是很健壯。
您可以添加一些關於應用程序收到HTTP請求時執行的代碼序列的更多詳細信息嗎?我問這是因爲我沒有完全理解問題的背景。如您所示,EL表達式應該進行評估:(1)您的應用程序執行了一些將這些屬性放入其中一個JSP範圍的代碼。(2)您的標記稍後在請求過程中由JSP提供。 – EJK