0

I have a table in html called "messages". columns "message" and "type". I want to add data in this table from java servlet. How can I do that?

user3049602
  • 41
  • 1
  • 8

1 Answers1

0

Assuming that you have your messages in an array, you can do it like this. Just copy and paste. Cheers! :D

Servlet1.java

package com.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String[][] messages = {
            {"Message 1", "Type 1"},
            {"Message 2", "Type 2"},
            {"Message 3", "Type 3"},
        };

        request.setAttribute("messageList", messages);

        request.getRequestDispatcher("/index.jsp").forward(request, response);
    }
}

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <table id="messages" border="1">
            <tr>
                <th>Message</th>
                <th>Type</th>
            </tr>

            <c:forEach var="msg" items="${requestScope.messageList}">
                <tr>
                    <td>${msg[0]}</td>
                    <td>${msg[1]}</td>
                </tr>
            </c:forEach>    
        </table>     
    </body>
</html>
Herupkhart
  • 499
  • 4
  • 23