gri*_*egs 7 jquery jsp servlets
我知道这里有很多相关的问题,但实际上与我的问题无关的问题都附有答案.或者至少是一个公认的答案.如果有人能指出我这个问题,那就很高兴错了.如果我错过了标记,请重新加注.
我的问题,正如标题所说,我想从我的JSP页面调用一个Servlet并返回一个字符串或html.
我的Servlet名称是MyFirstServlet.
请问,请在任何答案中都非常具体,因为我是一个完整的JSP,Java和Servlet noobie.
非常感谢你提前.
首先创建一个Servlet类,它根据请求返回所需的响应.它可以是HTML,XML或JSON.我建议使用JSON,因为这是Java中最容易生成的,并且可以在JavaScript中使用.例如,您可以使用Google Gson将完整的Java对象转换为JSON字符串(反之亦然).例如
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOexception {
// Populate response data somehow. Can be a String, Javabean or Collection/Map of either.
Map<String, Object> data = new HashMap<String, Object>();
data.put("success", true);
data.put("message", "Hello World!");
data.put("param", request.getParameter("foo"));
// Write response data as JSON.
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(new Gson().toJson(data));
}
Run Code Online (Sandbox Code Playgroud)
servlet完成后,只需web.xml按常规方式映射即可.EG上url-pattern的/firstServlet.
然后,在jQuery中,您可以使用use $.getJSON()从给定资源获取JSON.第一个参数是URL,很明显firstServlet.第二个参数是回调函数,您可以在其中处理返回的响应数据.foo为了纯粹的演示目的,我已经传递了请求参数,这不是强制性的.
$.getJSON('firstServlet?foo=bar', function(data) {
alert('Success: ' + data.success + '\n'
+ 'Message: ' + data.message + '\n'
+ 'Param: ' + data.param);
});
Run Code Online (Sandbox Code Playgroud)
你当然可以做更多的事情,而不仅仅是显示一个简单的警报.例如,基于返回的数据来操作/遍历当前页面中的HTML DOM.
我在此之前用实际例子发布了两个答案,您可能会发现它也很有用:
| 归档时间: |
|
| 查看次数: |
15155 次 |
| 最近记录: |