我看到了与这个问题相关的答案,并试图解决我仍然在Servlet中得到null,我在做错了?也许我在Javascript或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>
String t= request.getParameter("count");
out.println(t);// should display 4, but getting null here
答案 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");