在jsp scriptlet中获取javascript变量值

par*_*ava 5 javascript java jsp el

我有一个场景,我需要将javascript varibable与jsp页面的scriptlet中的java对象进行比较.如何在jsp scriptlet中获取javascript变量或以其他方式也适用于我(在javascript中获取arraylist对象值).

小智 6

有两种方法可以将javascript变量值分配给jsp scriptlet.

第一种方式 Demo1.jsp

<script>
    var name = "Gautam";
</script>
<%
    String str = "<script>document.writeln(name)</script>";
    out.println("value: " + str);
%>
Run Code Online (Sandbox Code Playgroud)

第二种方式 Demo2.jsp

<html>
<script>
    function call() 
    {
        var name = "Gautam";
        window.location.replace("Demo2.jsp?name=" + name);
    }
</script>
<input type="button" value="Get" onclick='call()'>
<%
    String name = request.getParameter("name");
    if (name != null) 
    {
        out.println(name);
    }
%>
</html>
Run Code Online (Sandbox Code Playgroud)


Lui*_*oza -1

如果您需要 JavaScript 中服务器的变量,请使用表达式语言(假设此变量存储为请求、会话、应用程序或页面属性):

<%@taglib uri="http://example.com/functions" prefix="f" %>

<!-- ... -->

function showValues(str) {
    var empListLength = ${empty empList ? 0 : fn:length(empList)};
}
Run Code Online (Sandbox Code Playgroud)

如果您的 scriptlet 中需要来自 JavaScript 的变量,那么您就不走运了,这是不可能的。从外部资源获取变量的唯一方法是作为请求参数。


我直接使用 scriptlet 省略了答案,因为强烈建议不要使用它