如何从JavaScript函数调用Java方法



我有一个场景,例如用户单击HTML页面上的超链接时,它必须使用ID(在超链接的OnClick方法中传递ID(并调用Java方法,并将其调用Java方法该方法接受ID参数。基于ID,它将某些值作为数组返回到JavaScript函数。

这是我的Java脚本函数

function showTestCaseReport(testCaseId, testSteps)
{
    var jObject = Java.type('Practice.myclasses.GenerateReport');
    var stepResult = jObject.getTestStepsByCaseId(testCaseId); 
    alert(stepResult.length);
}

,但是当单击超链接时,它不起作用,甚至不显示警报对话框。

有什么方法可以集成JavaScript函数和Java方法?

您需要将AJAX调用到执行Java函数的页面,然后将数据返回给JS

 $.ajax({
  url: "java_page.jsp",
  data: ID
  }).done(function(data) {
  //Do what you need with data(your array) hear
  });

ps。最好的做法是返回JSON格式数据,因此您的Java代码应返回JSON

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调用

 $.ajax({
        type: "POST",
        url: "test",
        data: loginData,
        success: function (result) {
            // do something.
        },
        error: function (result) {
            // do something.
        }
    });

希望这会有所帮助..!

最新更新