【问题标题】:write Session values to a text file in a JSP page将会话值写入 JSP 页面中的文本文件
【发布时间】:2014-09-11 09:50:09
【问题描述】:

我必须将会话值写入 JSP 页面中的文本文件。我能够使用以下 JSTL 代码检索会话的值。

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

检索值后,我必须将这些值写入文本文件,以下示例 code 运行良好。但我不能在 JSP 标签内使用 JSTL 标签()。

1.是否可以在JSP标签中使用JSTL值?

2.如何获取JSP标签内的session值?

【问题讨论】:

    标签: java jsp session jstl


    【解决方案1】:

    不建议使用JSP 编写文本文件。最好使用backend technology,所以需要使用servlet for that which is made for that,这种操作必须由Server Side完成。

    如果你仍然想这样做,你可以使用scriplet 标签:

    <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 标记中获取会话详细信息。由于我不能在 JSP 标记中使用 JSTL 代码。我正在寻找一种方法来访问 JSP 标记中的会话变量对象详细信息。希望我说清楚了,谢谢
    • @user3421325 :检查我更新的答案,我认为您需要将会话值转换为字符串,所以我使用了(String)。把你得到的发给我。
    • 很有用。 "${chapters.name}" 如何在 JSP 标签中获取这个值?
    • 如何查看会话数组中的条目数?
    • ${chapters.name} 是什么,它来自 servlet 吗?它来自哪里?
    【解决方案2】:

    为此使用 servlet。 JSP 只是一种视图技术。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多