简体   繁体   English

我正在尝试将一个值从 servlet 文件传递​​到 javascript 文件,但我一直为 null 我做错了什么?

[英]I am trying to pass a value from servlet file to javascript file and i am keep getting null where am i doing wrong?

I am trying to pass a value from servlet to js and keep getting null where am i doing it wrong?我试图将一个值从 servlet 传递给 js 并不断获取 null 我在哪里做错了?

login.java-servlet login.java-servlet

if(bt.equals("frname")){
    String user =request.getParameter("frname");
    String requester=(String) session.getAttribute("uname");
    session.setAttribute("passingv", requester);
    try {
        if (UserDao.validateUser(user)==true) { 
            UserDao.insertvalues(requester,user);
            request.getRequestDispatcher("main.jsp").forward(request, response);
        } else {
            out.println(" <script type='text/javascript'> ");
            out.println("alert('User doesnot exists');");
            out.println("</script>");
            response.sendRedirect("main.jsp");    
        }
    } catch (ClassNotFoundException | SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

main.jsp主文件

<%=(String)session.getAttribute("passingv")%>

main.js主文件

var test = '<%=(String)session.getAttribute("passingv")%>';
console.log(test);

You're setting it in the session but attempting to retrieve it from the request.您正在会话中设置它,但试图从请求中检索它。

Also, if it's an external JS file (eg, not in the JSP), there's no sense in trying to use a scriptlet in it.此外,如果它是一个外部 JS 文件(例如,不在 JSP 中),那么尝试在其中使用 scriptlet 是没有意义的。 You may process JS files as JSP files, but this can lead to additional issues.可以将JS 文件作为 JSP 文件处理,但这可能会导致其他问题。 You may want to consider exposing the value in the JSP and retrieving it later from the JS, but there are multiple ways to handle this requirement.您可能需要考虑在 JSP 中公开值并稍后从 JS 中检索它,但有多种方法可以处理此要求。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM