如何通过Json将Java方法调用到JavaScript中?
我无法打印从html页面中的Java方法返回的Json字符串。我想不起JavaScript中的“proof”Java方法。你能给我一些提示吗 Java类如何通过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;
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
的东西,然后怀疑它为什么不起作用。)它还不能打印它。我尝试了你的暗示,但没有成功。