Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jsp的java部分使用javascript变量_Java_Javascript_Jsp - Fatal编程技术网

如何在jsp的java部分使用javascript变量

如何在jsp的java部分使用javascript变量,java,javascript,jsp,Java,Javascript,Jsp,我目前在javascript中有: var target = getTarget(); 我想检查target是否不是以select开头的,因此我考虑使用java方法startsWith来实现这一点,因为我在javascript中找不到等效的方法 所以我做了: <%if(!target.startsWith(select)%> { targetValue = getTargetValue(); } 我最终得到一个错误,声明: 无法解析目标 根据我的理

我目前在javascript中有:

var target = getTarget();
我想检查target是否不是以select开头的,因此我考虑使用java方法startsWith来实现这一点,因为我在javascript中找不到等效的方法

所以我做了:

<%if(!target.startsWith(select)%>
    {
        targetValue = getTargetValue();
    }
我最终得到一个错误,声明:

无法解析目标


根据我的理解,如果我使用java代码,那么我可以使用java代码,java在服务器端运行,而JavaScript在客户端运行。Java代码在生成HTML时执行,而JavaScript将在生成的HTML下载到客户端浏览器并且浏览器将HTML呈现给最终用户时执行。简而言之:Java代码无法访问JavaScript代码,反之亦然

您的具体问题是:scriptlet中的Java服务器代码中没有声明目标变量。您应该使用纯JavaScript来实现您想要/需要的内容。下面是一段代码,它是根据投票数第二多的答案改编的,因为它比公认的答案短:

var target = '';
if (getTargetValue().lastIndexOf('select', 0) === 0) {
    target = getTargetValue();
}
而且,你应该

1:您可以用HTML编写Java变量的内容,将数据分配给JavaScript变量,但这只能在生成HTML时完成。如果执行ajax操作,任何Java代码都不会被重新执行,因此内部的任何scriptlet都不会被重新计算。

target是一个JavaScript变量,因此当您尝试使用它调用Java方法时,.jsp页面将把target作为Java变量而不是JavaScript来查找。解决方法可以是:

如果target.substring0,请选择.length!==选择{}