繁体   English   中英

如何将 ArrayList 从 Java 类传递到 JSP 表

[英]How to pass an ArrayList from a Java class to JSP table

在这里,我尝试将 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>    

这种方式行不通。 您需要创建一个 servlet 程序,您必须在其中填充List 在 servlet 代码中,您必须将列表放入请求对象并将请求转发到 JSP。 然后,您可以使用 scriptlet 检索 JSP 中的列表,然后以核心 Java 方式或使用 JSTL(推荐)库对其进行迭代。 下面给出了一些您可以开始的链接:

  1. https://www.baeldung.com/intro-to-servlets
  2. https://docs.oracle.com/javaee/7/tutorial/servlets.htm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM