Java 混合使用ajax和jsp将数据放入servlet
我有一个jsp文件,其中有两个文本字段:signUp和post。现在,我希望将post文本和注册文本调用到servlet。通常是request.getParameter,但现在我希望post文本通过AJAX函数发送到servlet,注册文本以正常方式发送,这意味着jsp文件中输入的名称,然后是request.getParameter 是否可以在一个servlet中混合这两个部分,因为我有:Java 混合使用ajax和jsp将数据放入servlet,java,jquery,ajax,jsp,servlets,Java,Jquery,Ajax,Jsp,Servlets,我有一个jsp文件,其中有两个文本字段:signUp和post。现在,我希望将post文本和注册文本调用到servlet。通常是request.getParameter,但现在我希望post文本通过AJAX函数发送到servlet,注册文本以正常方式发送,这意味着jsp文件中输入的名称,然后是request.getParameter 是否可以在一个servlet中混合这两个部分,因为我有: <form name="form1" method="POST" action="PostWallS
<form name="form1" method="POST" action="PostWallServlet" id="form1">
form1是ajax代码。我不知道该怎么做。通常情况下会有
`<form action="PostWallServlet" method="POST" >
一切都可以通过Servlet调用。但是,现在我不知道如何将这两种成分混合起来
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PostWall pw=new PostWall();
SimpleDateFormat df = new SimpleDateFormat("YYYY/MM/DD hh:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println("Current Date Time : " + df.format(cal.getTime()));
String message = "";
String sender = request.getParameter("sender");
String post = request.getParameter("message");
String a= df.format(cal.getTime()).toString();
pw.setSender(sender);
pw.setPost(post);
pw.setDate(a);
if (pwi.addPost(pw)) {
message = "Student Successfuly Added";
} else {
message = "Student Adding Failed";
}
//RequestDispatcher rd = request.getRequestDispatcher("post.jsp");
//rd.forward(request, response);
}
$(document).ready(function(){
$('#Add').click(function(){
sendData();
});
});
function sendData(){
var mge = $('#newText').val();
alert(mge);
$.ajax({
type: "POST",
url: "PostWallServlet",
data: { message : mge }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
}
</script>
<form name="form1" method="GET" action="PostWallServlet" id="form1"></form>
<table border="0" width="100%">
<tr>
<td colspan="3"> ${message}</td>
</tr>
<tr>
<td>Sender</td>
<td>:</td>
<td><input type="text" name="sender" value="" size=20/></td>
</tr>
<tr>
<td>Post</td>
<td>:</td>
<td><input type="text" name="post" value="" size=500 id="newText"/ ></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" value="Add" name="Add" /></td>
</tr>
</table>
有什么解决方案吗?在所有输入之后为表单添加结束标记:
<form name="form1" method="GET" action="PostWallServlet" id="form1">
...
<td><input type="text" name="sender" value="" size=20 /></td>
...
<td><input type="text" name="post" value="" size=500 id="newText" /></td>
...
<td><input type="submit" value="Add" name="Add" /></td>
...
</form>
请编辑您的问题并发布相关代码。明白了…但您不知道如何解决问题?它不能解决什么问题?对get和post使用相同的servlet?只需使用doGet方法调用doPostrequest、response;我只想在ajax中发布…发送者应该从servlet中获取..这是我的问题,因此为什么需要将数据:{message:mge}更改为数据:{sender:$'sender'.val,post:$'post'.val}您发送的是一个名为message的参数,所以当您尝试读取名为sender的参数时,它显然不在那里。
<td><input type="text" name="sender" id="sender" value="" size=20 /></td>
data: { sender: $('#sender').val(), post: $('#post').val() }