如何通过Json将Java方法调用到JavaScript中?

如何通过Json将Java方法调用到JavaScript中?,javascript,java,html,json,jsp,Javascript,Java,Html,Json,Jsp,我无法打印从html页面中的Java方法返回的Json字符串。我想不起JavaScript中的“proof”Java方法。你能给我一些提示吗 Java类 import com.google.gson.Gson; import com.google.gson.annotations.SerializedName; import com.google.gson.reflect.TypeToken; import java.util.ArrayList; import java.util.List;

我无法打印从html页面中的Java方法返回的Json字符串。我想不起JavaScript中的“proof”Java方法。你能给我一些提示吗

Java类

import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
import java.util.List;

public class JsonDiProva {

public String proof() {

    List<String> names = new ArrayList<String>();
    names.add("Alice");
    names.add("Bob");
    names.add("Carol");
    names.add("Mallory");

    Gson gson = new Gson();
    String jsonNames = gson.toJson(names);

    return jsonNames;

    }
}
import com.google.gson.gson;
导入com.google.gson.annotations.SerializedName;
导入com.google.gson.reflect.TypeToken;
导入java.util.ArrayList;
导入java.util.List;
公共类JsonDiProva{
公共字符串证明(){
列表名称=新的ArrayList();
名称。添加(“Alice”);
名称。添加(“Bob”);
姓名。添加(“卡罗尔”);
名称。添加(“Mallory”);
Gson Gson=新的Gson();
字符串jsonNames=gson.toJson(名称);
返回jsonNames;
}
}

Jsp页面

<p id="demo"></p>
<script>
var prv = JSON.parse('<% new JsonDiProva().proof() %>;');
document.getElementById("demo").innerHTML = prv; 
</script>

var prv=JSON.parse(“;”); document.getElementById(“demo”).innerHTML=prv;
1)你的
%>
使JSON无效后,如下所示:

var prv = JSON.parse('<% new JsonDiProva().proof() %>;');
但这看起来是一种奇怪的方式,无论如何,我会这样写:

var prv = JSON.parse('<% new JsonDiProva().proof() %>');
var prv = <% new JsonDiProva().proof() %>;
document.getElementById("demo").innerHTML = prv.join(", ");
请注意逗号后的多余空格,因此它随后将显示为
a、b、c


(这里的另一个优点是,您可能会错误地认为,
prv
是一个字符串,并在其上调用类似于
replace
的东西,然后怀疑它为什么不起作用。)

它还不能打印它。我尝试了你的暗示,但没有成功。