js调用后台servlet方法实例
更新时间:2013年06月09日 16:44:17 作者:
今天做历史记录查询功能,遇到了前后台方法互相调用的问题,研究了一下,把成功经验记录一二。
1.使用document.form.action方式
相关源码如下:
*.js
[javascript]
复制代码 代码如下:
<span style="white-space:pre"> </span> document.getElementById("sendPerson").value = SendPerson;
document.getElementById("currentTime").value = currentTime();
document.getElementById("message").value = message;
document.getElementById("recvPerson").value = recvPerson;
document.chatform.action = "ToHistoryServlet";
document.chatform.submit();
*.html
[html]
复制代码 代码如下:
<!--the tag below is the params to the userHistory dml@2012.8.27-->
<input type="hidden" name="sendPerson" id="sendPerson"> <input
type="hidden" name="currentTime" id="currentTime"> <input
type="hidden" name="message" id="message"> <input
type="hidden" name="recvPerson" id="recvPerson">
注意的是,input需指定name属性,这么servlet才可以获取到参数值
*.java
[java]
复制代码 代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { www.jb51.net
String sendPerson = request.getParameter("sendPerson");
String recvPerson = request.getParameter("recvPerson");
String sendTime = request.getParameter("currentTime");
String message = request.getParameter("message");
Message msg = new Message();
msg.setMessage(message);
msg.setRecvPerson(recvPerson);
msg.setSendPerson(sendPerson);
msg.setSendTime(sendTime);
HistoryHandle.addMessage(msg);
}
这个缺点是页面就跳走了,要是希望保持原页面,可以参照方法2
2.jquery调用后台方法
[javascript]
复制代码 代码如下:
$.ajax({
type : "POST",
contentType : "application/json",
url : "ToHistoryServlet?sendPerson=" + SendPerson + "¤tTime="
+ currentTime() + "&message=" + message + "&recvPerson="
+ recvPerson,
dataType : 'json',
success : function(result) {
alert(result.d);
}
});
代码量小,使用方便,值得推荐。。。
相关文章
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
encodeURI和encodeURIComponent以及escape,这三个都是用来编码的,本篇文章给大家介绍encodeURI和encodeURIComponent以及escape的区别与应用,感兴趣的朋友一起学习吧2015-11-11
最新评论