Как я могу требовать и печатать массив объектов между страницей jsp и сервлетом, используя JQuery? - PullRequest
0 голосов
/ 09 мая 2018

Как я могу напечатать messages2 в div class = chat ?

Сообщение состоит из:
- Id
- Текст

Я не могу прочитать файл JSON, который сервлет отправляет мне с моей функцией JQuery. Я новичок в JQuery, и этот скрипт не мой, но я использовал его, потому что он работает для отправки сообщений сервелту.

Это моя форма, где я возьму текст с ввода.
home.jsp

<form  method="post" id="messageForm" enctype="multipart/form-data">     
                <div class="chat">  
                   //where i will print the array 
                </div>

        <div class="send">
            <div class="text-message-container">
                <input type="text" name="testMessage" class="text-message" id="toSend">
                <button type="submit" class="send-message" onclick="addMessage();" ><img src="img/send1.png" class="img-send"></button>
            </div>
        </div>
</form> 
<script>
function addMessage(){
  if(window.XMLHttpRequest) { 
   var xhttp = new XMLHttpRequest();
   xhttp.onreadystatechange=function() {
    if (xhttp.readyState === 4 && xhttp.status === 200) {
        var myArr = JSON.parse(xhttp.responseText);
    }
}
xhttp.open("POST","messageServlet",true);
var formData = new FormData(document.getElementById('messageForm'));
xhttp.send(formData);
 }
  else console.log('not working');
} </script>  

Это мой сервлет:

@WebServlet(name = "messageServlet", urlPatterns = {"/messageServlet"})
@MultipartConfig
public class messageServlet extends HttpServlet {

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String msg = req.getParameter("testMessage");
SessionFactory factory = session.getSessionFactory();
Session s = factory.openSession(); 
Message m = new Message();        
    m.setMessage(msg);
    s.beginTransaction();
    s.save(m);
    s.getTransaction().commit();

    List<Message> messages2 = s.createQuery("From Message").list();
    String json = new Gson().toJson(messages2);
    resp.setContentType("application/json");
    resp.setCharacterEncoding("UTF-8");
    resp.getWriter().write(json);
}

1 Ответ

0 голосов
/ 09 мая 2018

Ваш home.jsp имеет синтаксическую ошибку в коде Javascript:

    var myArr = JSON.parse(

Все остальное выглядит хорошо, насколько я вижу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...