如何在jsp的java部分使用javascript变量
我目前在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(); } 我最终得到一个错误,声明: 无法解析目标 根据我的理
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!==选择{}