从.js文件访问会话值

时间:2018-12-10 15:17:51

标签: javascript jsp session

我已经在.jsp文件中使用以下代码在会话的登录页面上设置了用户ID和密码值:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="ISO-8859-1">
        <title>Insert title here</title>
    </head>
    <body>
        <script>alert("Hey")</script>
        <%
            String userName = request.getParameter("username");
            String password = request.getParameter("password");
            session.setAttribute("username", userName);
            session.setAttribute("password", password);
            response.sendRedirect("somefile.jsp");
        %>
    </body>

我想访问.js文件中的用户名,以将其发送到REST API。试过这个:

var uName = <%=session.getAttribute("username")%>;

但是这不起作用,因为<%不会在所需的.js文件中进行解析。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您有四个选择。

  • 从URL directly with JS中读取数据,完全不涉及JSP(但首先不应该在查询字符串中传递密码)
  • 从JSP生成JS
  • 当从JSP生成HTML文档时,将数据注入HTML中(例如,使用data-*属性),然后使用JS从那里读取数据
  • 创建一个提供数据的Web服务并向其发出Ajax请求