通过超链接将值从 jsp 传递给 servlet

pass value to servlet from jsp by hyperlink

我看到了与这个问题相关的答案并试图解决我仍然在 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(doPost in NewServlet.java)
<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" 而不是 "param1" .. 所以,应该是:

String t = request.getParameter("count");

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 开始使用