不使用servlet从html调用Java方法

时间:2016-02-25 14:09:04

标签: java html

我的index.html有一定的视图,我希望通过调用一个使用Web服务并检索数据的java方法来更新此视图(不重定向或重新加载页面)。我想在index.html中显示数据。我尝试使用servlet,但它重定向到另一个url,这不是我想要做的。

有没有办法在我的index.html中调用java或显示java类的属性?

3 个答案:

答案 0 :(得分:0)

我会使用jquery并将ajax调用回服务器。 ajax调用完成后,您可以使用javascript更新index.html文件,而不必重新加载页面。

答案 1 :(得分:0)

您可以使用servlet,但必须使用Ajax对servlet进行异步调用,而无需重新加载整个页面。

$.ajax({
    type:"post",
    url: "redirector?operacion=515&id_orden="+id_orden+"&id_acto="+id_acto, 
    dataType: "text",
    success: function(response){
        //Do the stuffs you need with the response here.
    },
    error: function(response,error){
        console.log(response);
        console.log(error);
    }

});

这是使用jquery调用ajax的示例,其中“redirector”是我的servlet的名称,在我的servlet上这是我的代码:

case 515:

    PrintWriter writer = response.getWriter();
    response.setContentType("text/html");
    response.setCharacterEncoding("UTF-8");

    try {
    Integer id_acto = Integer.parseInt(request.getParameter("id_acto"));
    String resultado = consultasBBDD.consultarNivelesPorActo(id_acto);
    writer.print(resultado);

    } catch (Exception e) {
    System.out.println("Error recuperando niveles de exigencia");
    }

    writer.flush();
    writer.close();
   break;

在ajax调用的dataType属性上,您必须指定响应的类型。还要记住,当你进行ajax调用时,你的servlet上不能request.getRequestDispatcher(urlToGo);

希望这有帮助,对不起我可怕的英语!

答案 2 :(得分:0)

一种方法是将Java功能公开为REST服务。

泽西岛REST终点

MT4

<强> EmployeDTO.java

@Path("/rest/emp/")
public class EmployeeService {
    @GET
        @Path("/{param}")
        public EmployeDTO getMsg(@PathParam("param") String id) {



            return getEmployeeDetails(id);

        }

    }

<强>的index.html

String name;
String id;
String address;
//getters and setters

<强> employee.js

<!DOCTYPE html>
<html>
    <head>
        <title>Sample Page</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script src="employee.js"></script>
    </head>

    <body>
        <div>
            <p id="eid">The ID is: </p>
            <p id="eName">The Employee Name: </p>
            <p id="eAddress">The Employee Address:</p>
        </div>
    </body>
</html>