2014-09-11 94 views
0

我必須將會話值寫入JSP頁面中的文本文件。我能夠使用以下JSTL代碼檢索會話的值。將會話值寫入JSP頁面中的文本文件

<c:forEach items="${chapters}" var="name"> 
    <c:out value="Iteration..."/> 
    <c:out value="${name}"/> 
</c:forEach> 

檢索值後,我必須將這些值寫入到一個文本文件,然後將以下示例code效果很好。但是我不能在JSP標籤內使用JSTL標籤(<%...%>)。

1.是否可以在JSP標籤內使用JSTL值?

2.如何檢索JSP標籤中的會話值?

回答

0

爲此使用一個servlet。 JSP只是一種視圖技術。

1

不建議使用JSP來編寫文本文件。最好使用backend technology,所以你需要使用servlet for that which is made for that,這種類型的操作必須由Server Side完成。

<c:set var="name" value="${name}"/> 

<%@ page import="java.io.*" %> 
<% 
    String str = (String)session.getAttribute("sessionName"); 
    String name = (String)pageContext.getAttribute("name"); 
    String nameOfTextFile = "/resources/data.txt"; 
    try { 
     PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile)); 
     pw.println(str); 
     pw.close(); 
    } catch(IOException e) { 
     out.println(e.getMessage()); 
    } 
%> 
+0

寫入文本文件工作正常,但我的問題越來越JSP標籤內的會話信息:

如果你仍然想這樣做,你可以使用scriplet標籤做到這一點。因爲我不能在JSP標籤內使用JSTL代碼..我正在尋找一種方法來訪問JSP標籤中的會話變量對象詳細信息。希望我明確表示,謝謝 – user3421325 2014-09-11 10:36:51

+0

@ user3421325:檢查我更新的答案,我認爲你需要將會話值轉換爲字符串,所以我使用了'(String)'。發佈我所得到的。 – 2014-09-11 10:42:14

+0

這很有用。 「$ {chapters.name}」如何在JSP標籤中獲取這個值? – user3421325 2014-09-11 11:17:53