不使用servlet从html调用Java方法
我的不使用servlet从html调用Java方法,java,html,Java,Html,我的index.html有一个特定的视图,我想通过调用一个java方法来更新这个视图(无需重定向或重新加载页面),该方法使用web服务并检索数据。我想在我的index.html中显示数据。我尝试使用servlet,但它重定向到另一个url,这不是我想要做的 有没有办法在我的index.html中调用java或显示java类的属性?我会使用jquery并对服务器进行ajax调用。ajax调用完成后,您可以使用javascript更新index.html文件,而无需重新加载页面。您可以使用servl
index.html
有一个特定的视图,我想通过调用一个java方法来更新这个视图(无需重定向或重新加载页面),该方法使用web服务并检索数据。我想在我的index.html
中显示数据。我尝试使用servlet,但它重定向到另一个url,这不是我想要做的
有没有办法在我的
index.html
中调用java或显示java类的属性?我会使用jquery并对服务器进行ajax调用。ajax调用完成后,您可以使用javascript更新index.html文件,而无需重新加载页面。您可以使用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
属性上,您必须指定响应的类型。还要记住,在servlet上不能执行request.getRequestDispatcher(urlToGo)代码>进行ajax调用时
希望这有助于我,并为我糟糕的英语感到抱歉 一种方法是将Java功能公开为REST服务
球衣休息终点
@Path("/rest/emp/")
public class EmployeeService {
@GET
@Path("/{param}")
public EmployeDTO getMsg(@PathParam("param") String id) {
return getEmployeeDetails(id);
}
}
EmployeDTO.java
String name;
String id;
String address;
//getters and setters
index.html
<!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>
您希望在什么时候获取这些数据?在构建index.html时,或者在加载页面后,可能是在某个用户单击之后?如果不想重新加载页面,您希望将servlet与AJAX一起使用,而不是直接使用servlet。这里的示例可能会帮助您解决问题-。
$(document).ready(function() {
$.ajax({
url: "/rest/emp/10" (Your Rest end point URL)
}).then(function(data) {
$('#eid').append(data.id);
$('#eName').append(data.name);
$('#eAddress').append(data.address);
});
});