Как передать ArrayList из класса Java в таблицу JSP - PullRequest
0 голосов
/ 09 марта 2020

Здесь я попытался получить xml значений файла в список Java, а затем я хочу отобразить эти значения внутри таблицы. С помощью парсера DOM я получаю XML значения из файла XML. Я хочу вернуть этот вывод в таблицу JSP. Пожалуйста, помогите мне сделать это!

XML читатель

public class ReadXMLFile {
    public static void main(String argv[]) {
        try {
            File fXmlFile = new File("/Users/mkyong/staff.xml");
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
            Document doc = dBuilder.parse(fXmlFile);

            //optional, but recommended
            //read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
            doc.getDocumentElement().normalize();

            System.out.println("Root element :" + doc.getDocumentElement().getNodeName());

            NodeList nList = doc.getElementsByTagName("staff");

            System.out.println("----------------------------");

            for (int temp = 0; temp < nList.getLength(); temp++) {

                Node nNode = nList.item(temp);

                System.out.println("\nCurrent Element :" + nNode.getNodeName());

                if (nNode.getNodeType() == Node.ELEMENT_NODE) {

                    Element eElement = (Element) nNode;

                    System.out.println("Staff id : " + eElement.getAttribute("id"));
                    System.out.println("First Name : " + eElement.getElementsByTagName("firstname").item(0).getTextContent());
                    System.out.println("Last Name : " + eElement.getElementsByTagName("lastname").item(0).getTextContent());
                    System.out.println("Nick Name : " + eElement.getElementsByTagName("nickname").item(0).getTextContent());
                    System.out.println("Salary : " + eElement.getElementsByTagName("salary").item(0).getTextContent());

                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="xmlReader.TestXmlReader"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="ISO-8859-1">
    <title>XML Viewer</title>
</head>
<body>
    <% TestXmlReader tc = new TestXmlReader();
    NodeList LiNew =  TestXmlReader;%>
    <p><%=LiNew %></p> //need to add in to table just for testing
</body>
</html>    

1 Ответ

0 голосов
/ 09 марта 2020

Так не работает. Вам нужно создать программу сервлета, в которой вам нужно будет заполнить List. Внутри кода сервлета вам нужно будет поместить список в объект запроса и перенаправить запрос на JSP. Затем вы можете получить список в JSP либо с помощью скриптлета, а затем выполнить итерацию в ядре Java или с помощью библиотеки JSTL (рекомендуется). Ниже приведены некоторые ссылки, с которых вы можете начать:

  1. https://www.baeldung.com/intro-to-servlets
  2. https://docs.oracle.com/javaee/7/tutorial/servlets.htm
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...