我看到了与这个问题相关的答案,并试图解决我在 Servlet 中仍然得到 null 的问题,我在哪里做错了?也许我在 Javascript 或 jsp 中遗漏了一些东西??
home.jsp
<head>
<script type="text/javascript" src="layout/styles/jquery-latest.min.js"></script>
<script type="text/javascript">
function callMe(){
$.ajax({
type: "POST",
url: "/NewServlet",
data: { methodToInvoke: "sayHello" , data: "4" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
}
</script>
我想将值4从home.jsp传递给servlet(NewServlet.java中的doPost)
<a href="NewServlet?count=4" onclick="callMe()" id="4" >HTML Images</a>
NewServlet.java
String t= request.getParameter("count");
out.println(t);// should display 4, but getting null here
最佳答案
将 count=4
放入 ajax 请求的 URL
function callMe(count){
$.ajax({
type: "POST",
url: "/NewServlet?count=" + count,
data: { methodToInvoke: "sayHello" , data: "4" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
}
在你的jsp中:
<a onclick="callMe(4)" id="4" >HTML Images</a>
编辑: 要将计数发送回网络浏览器,请执行以下操作:
PrintWriter out = response.getWriter();
out.println(t);
其中响应是 HttpServletResponse
。
参见here开始使用
关于java - 通过超链接从 jsp 向 servlet 传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28583875/