我有一个场景,例如当用户点击HTML页面中的超链接时,它必须使用ID(在超链接的onclick方法中传递id)并调用接受ID参数的Java方法。根据ID,它将一些值作为数组返回给Javascript函数。
这是我的java脚本函数
function showTestCaseReport(testCaseId, testSteps)
{
var jObject = Java.type('Practice.myclasses.GenerateReport');
var stepResult = jObject.getTestStepsByCaseId(testCaseId);
alert(stepResult.length);
}
但是当它点击超链接时,它不起作用,甚至没有显示警告对话框。
有没有办法整合javascript函数和java方法?
答案 0 :(得分:1)
您需要对执行Java函数的页面进行ajax调用,并将数据返回给JS
$.ajax({
url: "java_page.jsp",
data: ID
}).done(function(data) {
//Do what you need with data(your array) hear
});
PS。最佳做法是返回JSON格式数据,以便您的java代码返回JSON
答案 1 :(得分:0)
在HTML中:
<a href="<c:url value="/test/${object.Id}" />" >Test</a>
在Java控制器中:
您必须使用@PathVariable
来传递ID。
@RequestMapping(value = "/test/{Id}", method = RequestMethod.GET)
public String Controller(@PathVariable("Id") String Id) {
...
}
您可以使用href和Id直接点击控制器。
如果你想通过JS Ajax点击Java控制器。 在JS:AJAX Call
$.ajax({
type: "POST",
url: "test",
data: loginData,
success: function (result) {
// do something.
},
error: function (result) {
// do something.
}
});
希望这会有所帮助..!