java - Freemarker:如何将XML放入数据模型中?

标签 java spring spring-mvc freemarker

已关注 Freemarker documentation

Controller

public ModelAndView home() {
        ModelAndView mav = new ModelAndView();
        mav.addObject("users", userList);
        mav.addObject("user", "Big Joe");
        mav.addObject("title", "Testing initial page, using FreeMarker!");
        try {
            mav.addObject("doc", freemarker.ext.dom.NodeModel.parse (new File("C:\\Users\\Himanshuy\\Desktop\\2.xml")));

        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        }
        return mav;
    }

错误

FreeMarker template error: For "${...}" content: Expected a string or something automatically convertible to string (number, date or boolean), but this evaluated to a sequence+hash (wrapper: f.e.dom.NodeListModel): ==> header [in template "index.ftl" at line 13, column 3

超光速

<#assign header=doc.title >
${header}

XML

<book>
  <title>Test Book</title>
  <chapter>
    <title>Ch1</title>
    <para>p1.1</para>
    <para>p1.2</para>
    <para>p1.3</para>
  </chapter>
  <chapter>
    <title>Ch2</title>
    <para>p2.1</para>
    <para>p2.2</para>
  </chapter>
</book>  

我的方法有什么问题吗?

最佳答案

这应该是 doc.book.title (当然你不需要 #assign),因为 doc 是XML 文档,与最顶层元素不同。

关于java - Freemarker:如何将XML放入数据模型中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17661477/

相关文章:

spring - Spring-在DAO的验证器中提供特定错误消息的最佳方法?

java - 为什么当我开始读取时,InputStreamResource 会关闭?

java - 我需要一个服务对象吗?

java - 在bash shell中使用相对路径调用java文件

java - cookie 是否被缓存?

spring - 根据特定条件添加 http 或 https

java - 从 org.aspectj.lang.ProceedingJoinPoint 获取模板/通用 java.lang.reflect.Method 对象

java - 从属性文件中删除记录

java - Hibernate JCache 5.4.3.Final 不适用于 JCache 5.4.2.Final 配置

java - Spring mvc :resource not finding *. ico 文件