将会话值写入JSP页面中的文本文件
问题描述:
我必须将会话值写入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标签中的会话值?
答
为此使用一个servlet。 JSP只是一种视图技术。
答
不建议使用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());
}
%>
写入文本文件工作正常,但我的问题越来越JSP标签内的会话信息:
如果你仍然想这样做,你可以使用
scriplet
标签做到这一点。因为我不能在JSP标签内使用JSTL代码..我正在寻找一种方法来访问JSP标签中的会话变量对象详细信息。希望我明确表示,谢谢 – user3421325 2014-09-11 10:36:51@ user3421325:检查我更新的答案,我认为你需要将会话值转换为字符串,所以我使用了'(String)'。发布我所得到的。 – 2014-09-11 10:42:14
这很有用。 “$ {chapters.name}”如何在JSP标签中获取这个值? – user3421325 2014-09-11 11:17:53