java - 使用 Spring MVC 在 jsp 文件中显示 XML

标签 java xml spring jsp spring-mvc

我需要在jsp中显示一个XML文件。代码应该转到特定位置并读取 xml,然后将其显示在 jsp 中。

我已经完成了文件读取部分,但是当我尝试在 jsp 中显示时,我收到错误。我尝试了不同的方法,例如转义字符、设置内容类型,但每次我都会收到不同的错误。

其中之一是 -

XML Parsing Error: no element found Location:

http://localhost:8080/viewXmlFile

Line Number 8, Column 12:

有什么办法可以在jsp中显示XML文件吗?我正在使用 Spring MVC。

@RequestMapping(value = "/viewXmlFile", method = RequestMethod.GET)
public ModelAndView viewXmlFile(HttpServletRequest request, HttpServletResponse response) {
    String path = //sec15/folder/myXmlFile.xml;

    StringBuffer data = new StringBuffer();
    try(BufferedReader reader = Files.newBufferedReader(Paths.get(path), StandardCharsets.UTF_8);) {
        List<String> collect = reader.lines().collect(Collectors.toList());

        for (String line : collect) {
            data.append(line + CommonConstants.FILE_NEXT_LINE);
        }
    } catch (Exception e) {
    }

    ModelAndView model = new ModelAndView("viewXmlFile");
    model.addObject("xmlData", data.toString());
    return model;
}

这是 JSP 文件 -

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<body>
<pre>
    <c:out value="${xmlData}" />
</pre>
</body>
</html>

这是 XML,我试图显示 -

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns14:Appearance xmlns:ns2="http://www.example.com/ObjectMetadata/9.0" xmlns:ns3="http://www.example.com/TransactionMetadata/9.0" xmlns:ns14="http://www.example.com/Appearance/2.56">
    <ns3:TransactionMetadata>
        <SourceSystem>Alpha</SourceSystem>
        <TransactionType>Appearance</TransactionType>
        <UniqueTransactionId>8d797d156487</UniqueTransactionId>
        <TransactionDateTime>2017-05-23T03:04:48.025+02:00</TransactionDateTime>
    </ns3:TransactionMetadata>
    <Appearance>
        <ns2:ObjectMetadata>
            <ActionType>Update</ActionType>
            <BusinessObjectName>Appearance</BusinessObjectName>
        </ns2:ObjectMetadata>
        <AppearanceUID>A500003410</AppearanceUID>
        <AppearanceNumber>001</AppearanceNumber>
        <AppearanceName>1495501</AppearanceName>
        <CreationDate>2017-05-23T03:04:37+02:00</CreationDate>
        <ModifiedDate>2017-05-23T03:04:38+02:00</ModifiedDate>
    </Appearance>
</ns14:Appearance>

最佳答案

更改 jsp 文件后,我可以在 jsp 上查看 XML。

这是我现在在jsp中的代码-

<%@page contentType="text/xml" pageEncoding="UTF-8"%>${xmlData}

关于java - 使用 Spring MVC 在 jsp 文件中显示 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44175144/

相关文章:

java - 有没有办法阻止来自 Java JUnit 测试的所有外部网络访问?

java - Hibernate 关系注解

java - 将具体类 Autowiring 到抽象装饰器中

java - Android:如何从 fragment 中的主动行为中获取媒体播放器对象?

xml - XSLT 仅在元素不存在时插入元素

java - 如何使用 Spring RestTemplate 将 JSON 作为参数发送到 url 中?

android - 即使当前版本是 9.2.1,Google Play 服务也会更新到 9.0.0

java - 如何在 Java 中解析损坏的 XML 文件?

java - 如何更改 MappingJacksonHttpMessageConverter 的默认 objectMapper?

java - Spring 集成 DSL lastTime 未更新错误