Java Spring中的哪个类负责解析视图中的消息

Java Spring中的哪个类负责解析视图中的消息,java,spring,view,thymeleaf,Java,Spring,View,Thymeleaf,我正在编写一个SpringMVC应用程序,每个客户端都有一个自定义消息(标签)的用例。每个请求在路径中都有一个唯一的密钥,如: http://somehost/something/A1B2C3D4/page http://somehost/something/H7CD8E31/page 基于该键,我将从数据库加载自定义消息 我在此处找到一篇文章,该文章在整个应用程序中使用自定义数据库消息: 我稍微修改了此方法,并使用以下代码读取请求: private String getIdFrom

我正在编写一个SpringMVC应用程序,每个客户端都有一个自定义消息(标签)的用例。每个请求在路径中都有一个唯一的密钥,如:

http://somehost/something/A1B2C3D4/page
http://somehost/something/H7CD8E31/page
基于该键,我将从数据库加载自定义消息

我在此处找到一篇文章,该文章在整个应用程序中使用自定义数据库消息:

我稍微修改了此方法,并使用以下代码读取请求:

    private String getIdFromRequest() {

    ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
    HttpServletRequest req = attr.getRequest();

    String id=null;
    try {
        id = ((String) req.getServletPath()).split("/")[1];
    } catch(Exception e) {
        System.out.println("Request did not have key");
    }

    return id;
}
然后,我在类的
resolveCode
内调用此消息,该类扩展了
ReloadableResourceBundleMessageSource

如果一个页面有20条消息,那么这段代码每页运行20次。我的问题是spring在哪里或如何从视图模板读取消息?渲染视图时,它会将视图解析为文件,然后必须在每个视图上循环调用
resolveCode
的消息。我想通过扩展循环发生的类,每页调用一次我的
getIdFromRequest
方法。我在查看spring源代码,但还没有找到我要查找的内容


谁能给我指出正确的方向吗?另外,如果有更好的方法来解决我的问题,我也希望您能提供一些指导。

您的问题中没有提到thymeleaf,但由于标签中有它,我认为您正在使用它

如果是这样的话,因为thymeleaf是一个模板库,所有这些都是在视图渲染时完成的。我认为相关的课程不是spring课程,而是thymeleaf课程

我建议您查看应用程序中使用的视图
org.thymeleaf.spring3.view
。如果您想使用一个专门的子类,您应该首先从同一个包中对
viewsolver
进行子类化

如果不使用thymeleaf,那么一般的工作流是相同的:在spring上下文中声明了一个
viewsolver
viewsolver
实例化一个
视图
,所有响应的实际构建都发生在
视图