Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 混合使用ajax和jsp将数据放入servlet_Java_Jquery_Ajax_Jsp_Servlets - Fatal编程技术网

Java 混合使用ajax和jsp将数据放入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

我有一个jsp文件,其中有两个文本字段:signUp和post。现在,我希望将post文本和注册文本调用到servlet。通常是request.getParameter,但现在我希望post文本通过AJAX函数发送到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>

请编辑您的问题并发布相关代码。明白了…但您不知道如何解决问题?它不能解决什么问题?对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() }