2014-02-28 107 views
1

我一直在谷歌上搜索,我發現我可以用刪除會話屬性:JSTL刪除所有會話屬性

<c:remove var="foo" /> 

我要的是清除所有會話從JSP屬性,像這樣:

<c:forEach var="item" items="${sessionScope}"> 
    <c:remove var="${item }" scope="session"/> 
</c:forEach>  

的問題是,從上面的代碼給了我這個警告

C:刪除不坐席端口運行時間表達式

而我無法查看JSP放置代碼的位置。

可能嗎?做這樣的事情是否是一種好習慣?

+2

在JSP,這是用來生成HTML代碼視圖組件?在Java中,在控制器內部執行此操作。 –

+0

好的,所以這是一個糟糕的做法,我是一個嘗試JSTL的新手,無論如何,你可以在視圖中刪除會話屬性是很奇怪的。 – Jessai

+1

你可以做到。只需使用scriplet。 <%session.removeAttribute(「a」);%>但它被認爲是一種罪過。 – rickz

回答

1

因爲您正在遍歷「item」,並且在循環內迭代它,所以您試圖刪除它。爲什麼你要這麼做

更好地做到這一點的邏輯在Java中只而不是JSP