当前位置: 首页 > 知识库问答 >
问题:

Thymeleaf:Spring Boot中SVG的第二个解析器

慕容耘豪
2023-03-14

我试图为使用thymeleaf属性的SVGs设置第二个解析器,因此它需要由Spring Boot应用程序中的模板引擎解析。我到目前为止的实现:

ThymeleafsVgconfig

@Configuration
public class ThymeleafSvgConfig {
    @Bean
    public FileTemplateResolver svgTemplateResolver(){
    FileTemplateResolver svgTemplateResolver = new FileTemplateResolver();
    svgTemplateResolver.setPrefix("classpath:/svgtemplates/");
    svgTemplateResolver.setSuffix(".svg");
    svgTemplateResolver.setTemplateMode("XML");
    svgTemplateResolver.setCharacterEncoding("UTF-8");
    svgTemplateResolver.setOrder(0);

    return svgTemplateResolver;
    }

}
@Controller
public class ThymeleafSvgController {
    @Autowired
    private ServletContext servletContext;
    @Autowired
    private TemplateEngine templateEngine;

    //.. logging etc.

    @RequestMapping(value = "/getSvg", method = { RequestMethod.GET, RequestMethod.POST })
    public void getSvg(@RequestParam(required = false) String type, HttpServletRequest request, HttpServletResponse response) {

    WebContext context = new WebContext(request, response, servletContext, request.getLocale());
    templateEngine.process("test", context, response.getWriter());
    }
}

共有1个答案

骆文彬
2023-03-14

问题是FileTemplateResolver不能处理“classpath:”表示法。在提供完整的文件路径之后,解析器就可以工作了。

 类似资料:
  • Milo Yip 2016/9/20 本文是《从零开始的 JSON 库教程》的第二个单元解答篇。解答代码位于 json-tutorial/tutorial02_answer。 1. 重构合并 由于 true / false / null 的字符数量不一样,这个答案以 for 循环作比较,直至 ''。 static int lept_parse_literal(lept_context* c, le

  • 问题内容: 我有一个JSON对象流,就像通过TCP或WebSockets的JSON- RPC一样。没有长度前缀或定界符,因为JSON是自定界的。因此,当我从流中读取内容时,可能会遇到如下所示的结果: 我需要一个一个地解析每个JSON对象。我无法使用JSON.parse做到这一点,因为它只会在末尾抛出无关数据的语法错误。 当然,在这个示例中,我可以逐行进行,但是我不能依赖像这样的空白。JSON-RP

  • Milo Yip 2016/9/18 本文是《从零开始的 JSON 库教程》的第二个单元。本单元的源代码位于 json-tutorial/tutorial02。 本单元内容: 初探重构 JSON 数字语法 数字表示方式 单元测试 十进制转换至二进制 总结与练习 参考 常见问题 1. 初探重构 在讨论解析数字之前,我们再补充 TDD 中的一个步骤──重构(refactoring)。根据[1],重构是

  • 我希望表的所有都具有,其被的重写。 结果应该变成: 我可以通过单独的查询获得它,例如: 第二个查询的结果应该合并到第一个查询中,这样:“当第二个表中的boolean为TRUE时,用第一个表覆盖第二个表的结果” role_cap和enduser_cap表中的正确值都应该成为结果的一部分。但是,如果对于相同的user_cap_id,role_cap有FALSE条目,而enduser_cap有TRUE条

  • 我们在前面的章节中看到,Java 提供了两种List接口的实现,ArrayList和LinkedList。对于一些应用,LinkedList更快;对于其他应用,ArrayList更快。 要确定对于特定的应用,哪一个更好,一种方法是尝试它们,并看看它们需要多长时间。这种称为“性能分析”的方法有一些问题: 在比较算法之前,你必须实现这两个算法。 结果可能取决于你使用什么样的计算机。一种算法可能在一台机

  • 因此,我正在我的Win32应用程序中设置我的OpenGL上下文。我正在设置一个多线程环境,一个线程处理窗口消息,另一个线程处理OpenGL渲染调用。到目前为止,我的工作流程如下: 线程A: 创建窗口 获取显示上下文 选择像素格式 创建临时OpenGL上下文并使其成为当前 抓取扩展函数指针 将当前上下文设置为NULL并删除临时上下文 使用wglCreateContextAttribsARB创建新上下