Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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
Javascript 可以在jsp中使用Java方法吗?_Javascript_Java_Jsp - Fatal编程技术网

Javascript 可以在jsp中使用Java方法吗?

Javascript 可以在jsp中使用Java方法吗?,javascript,java,jsp,Javascript,Java,Jsp,我有一个类ManXML,它有一个返回字符串数组的方法String[]:getArrayTimes()。我想将该输出用作jsp脚本中的变量 <script> $(document).ready(function() { BindControls(); }); function BindControls() { const BD = new ManXML("BaseDados"); var Temas = BD.getArrayTemas(); $

我有一个类
ManXML
,它有一个返回字符串数组的方法
String[]:getArrayTimes()
。我想将该输出用作jsp脚本中的变量

 <script>
$(document).ready(function() {
    BindControls();
});

function BindControls() {
    const BD = new ManXML("BaseDados");

    var Temas = BD.getArrayTemas();

    $('#tbTemas').autocomplete({
        source : Temas,
        minLength : 0,
        scroll : true
    }).focus(function() {
        $(this).autocomplete("search", "");
    });
}
 </script>

$(文档).ready(函数(){
BindControls();
});
函数BindControls(){
const BD=新的ManXML(“BaseDados”);
var Temas=BD.getArrayTemas();
$('#tbTemas')。自动完成({
资料来源:Temas,
最小长度:0,
卷轴:对
}).focus(函数(){
$(this.autocomplete(“search”和“”);
});
}

是的,这是可能的
在我的回答中,我假设您的getArrayTimes()是一个静态方法

首先,必须在jsp中导入类,然后才能使用静态方法:

<%@page import="x.y.z.ManXML"%> 

<%
   String [] arrayTernas = ManXML.getArrayTemas();

%>


最后,您可以将您的arrayTernas与
${arrayTernas}
(如果您使用的是JSTL)

一起使用,但该类需要构造函数,从参数接收的字符串我尝试了类似于。。。。正如我所说,我认为你的方法是静态的。在JSP中创建新实例不是一个好做法。您不能将您的方法转换为静态方法吗?您还可以从调度到该JSP的控制器代码(假设有一个)中插入一个实例,使用
request.setAttribute
调用方法.我该怎么做?类是否包含在您的war文件中?Ajax将是您的最佳选择。您真的想从JSP调用吗?还是来自Javascript(在浏览器中运行)?