[英]mixing up ajax and jsp to get data into a servlet
我有一個帶有兩個文本字段(signUp和post)的jsp文件。 現在,我希望將發布文本和signUp文本調用到servlet。 通常,它與request.getParameter()
,但現在我希望使用AJAX函數將帖子文本發送到servlet,並使用常規方式將注冊文本發送到servlet(這意味着jsp文件中輸入的名稱,然后是request.getParameter) )。
是否可以將兩個部分混合在一個servlet中,因為我有這個:
<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>
您的輸入必須在表格內部,而不是表格之后。
另外,請確保輸入標簽的結尾不是/> />。 您在其中一個的/和>之間有一個空格。
對於Ajax部分,您需要提供輸入ID和名稱:
<td><input type="text" name="sender" id="sender" value="" size=20 /></td>
然后在您的Ajax函數中獲取數據:
data: { sender: $('#sender').val(), post: $('#post').val() }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.