如何在 JSP 中将 JavaScript 值传递给 Scriptlet?

IT技术 java javascript jsp scriptlet
2021-01-16 03:21:59

谁能告诉我如何在 JSP 中将 JavaScript 值传递给 Scriptlet?

6个回答

我可以提供两种方式,

一个.jsp

<html>
    <script language="javascript" type="text/javascript">
        function call(){
            var name = "xyz";
            window.location.replace("a.jsp?name="+name);
        }
    </script>
    <input type="button" value="Get" onclick='call()'>
    <%
        String name=request.getParameter("name");
        if(name!=null){
            out.println(name);
        }
    %>
</html>

b.jsp ,

<script>
    var v="xyz";
</script>
<% 
    String st="<script>document.writeln(v)</script>";
    out.println("value="+st); 
%>
b.jsp 建议不起作用,它打印 <script>document.writeln(v)</script>
2021-03-17 03:21:59
是的 b.jsp 在不工作。谁能帮我让它工作
2021-04-04 03:21:59

您的 javascript 值在客户端,您的 scriptlet 在服务器端运行。因此,如果您想在 scriptlet 中使用您的 javascript 变量,您将需要提交它们。

为此,请将它们存储在输入字段中并提交表单,或执行 ajax 请求。我建议你为此研究 JQuery。

很简单,你不能!

JSP 是服务器端,javascript 是客户端,这意味着在评估 javascript 时不再有“jsp 代码”。

我将这个问题解释为:

“谁能告诉我如何JavaScript传递值在 JSP 中使用?”

如果是这种情况,此 HTML 文件会将服务器计算的变量传递给 JSP 中的 JavaScript。

<html>
    <body>
        <script type="text/javascript">
            var serverInfo = "<%=getServletContext().getServerInfo()%>";
            alert("Server information " + serverInfo);
        </script>
    </body>
</html>
可能是您没有正确阅读问题,他想将 javascript 值传递给 scriplet 标签,而不是将 scriplet 中的值传递给 javascript :)
2021-03-27 03:21:59

你不能那样做,但你可以做相反的事情:

在您的jsp中,您可以:

String name = "John Allepe";    
request.setAttribute("CustomerName", name);

访问js中的变量:

var name = "<%= request.getAttribute("CustomerName") %>";
alert(name);