我试图将一个值从servlet文件传递到javascript文件,但我总是得到null,我哪里做错了?

我试图将一个值从servlet文件传递到javascript文件,但我总是得到null,我哪里做错了?,javascript,java,servlets,Javascript,Java,Servlets,我试图将一个值从servlet传递到js,并一直保持为null,我哪里做错了 login.java-servlet if(bt.equals("frname")){ String user =request.getParameter("frname"); String requester=(String) session.getAttribute("uname"); session.setAttribute("passingv", requester); try

我试图将一个值从servlet传递到js,并一直保持为null,我哪里做错了

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();
    }
}
if(bt.equals(“frname”)){
字符串user=request.getParameter(“frname”);
字符串请求程序=(字符串)session.getAttribute(“uname”);
setAttribute(“passingv”,请求者);
试一试{
if(UserDao.validateUser(user)==true){
insertvalues(请求者、用户);
getRequestDispatcher(“main.jsp”).forward(请求、响应);
}否则{
out.println(“”);
println(“警报(‘用户不存在’);”;
out.println(“”);
sendRedirect(“main.jsp”);
}
}catch(ClassNotFoundException | SQLException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
main.jsp

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

main.js

var test = '<%=(String)session.getAttribute("passingv")%>';
console.log(test);
var测试=”;
控制台日志(测试);

您正在会话中设置它,但试图从请求中检索它


此外,如果它是一个外部JS文件(例如,不在JSP中),那么尝试在其中使用scriptlet是没有意义的。您可以将JS文件作为JSP文件处理,但这可能会导致其他问题。您可能想考虑在JSP中公开值并稍后从JS中检索它,但是有多种方法来处理此要求。

请共享全部错误,而不是显示错误,但当我运行时,它正在打印“固定代码格式”,您能告诉我如何处理这个错误吗?