通过超链接从jsp传递值到servlet

时间:2015-02-18 12:37:22

标签: java javascript jsp servlets 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>

我想从home.jsp

将值 4 传递给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

2 个答案:

答案 0 :(得分:1)

count=4放入您的ajax请求的网址

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>

修改: 要将计数发送回Web浏览器,请执行以下操作:

PrintWriter out = response.getWriter();
out.println(t);

其中响应​​为HttpServletResponse

请参阅here开始使用

答案 1 :(得分:0)

您的参数名称是“count”而不是“param1”.. 所以,它应该是:

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