Spring UrlTemplateResolver在解析远程模板时不会转发Cookie

时间:2019-06-09 11:28:10

标签: java spring servlets thymeleaf microservices

我正在使用自定义UrlTemplateResolver来解析远程主机上的Thymeleaf模板。在浏览器中设置的Cookie不会与模板解析请求一起发送。我正在寻找一种可能的解决方法,以可能通过UrlTemplateResolver解决请求发送cookie。

添加到SpringTemplateEngine的我的UrlTemplateResolver:

@Bean public UrlTemplateResolver urlTemplateResolver()
{
    UrlTemplateResolver urlTemplateResolver = new UrlTemplateResolver();
    urlTemplateResolver.setCharacterEncoding( "UTF-8" );
    urlTemplateResolver.setTemplateMode( "HTML5" );
    urlTemplateResolver.setCacheable( false );
    urlTemplateResolver.setOrder( 1 );
    return urlTemplateResolver;
}

我的index.html文件中调用远程百里香片段的部分:

<div th:replace="http://localhost:8080/ui-service/header.html :: [//nav[@id='shared-navbar']]"/>

从UrlTemplateResolver捕获请求的Servlet :(这是我需要访问cookie数据的地方)

@GetMapping("/header.html") 
public String exposeHeader(HttpServletRequest request, Model model){
    //Cookie cookie = request.getCookies() -> is null

    return "fragments/navbar.html";
}

例如,如果我在浏览器中输入http://localhost:8080/ui-service/header.html,则可以看到Cookie是在调试器中发送的。但是,当请求由UrlTemplateResolver发送时,没有cookie。

0 个答案:

没有答案