spring5/springboot2源码学习 -- spring mvc主题theme

概念

在spring中,主题是用以解析一组特定的消息、带么、文件路径等,包括css和图片文件。其实可以类比于我们在手机上用的主题。代表着一套特定的字体啊,图标样式啊,诸如此类。

用法

实现

在spring mvc的DispatcherServlet中,会在初始化的时候创建一个ThemeResolver

public interface ThemeResolver {
	//根据request获取到theme的name
  String resolveThemeName(HttpServletRequest request);
	//设置themeName
  void setThemeName(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable String themeName);
}

ThemeResolver的具体实现类:

  • CookieThemeResolver:在cookie中设置一个theme相关的属性
  • FixedThemeResolver:返回一个固定的值,默认就是theme字符串
  • SessionThemeResolver:在session中存一个theme的属性

ThemeResolver的作用在于根据http 请求获取一个theme的name

而根据name去获取到具体的Theme实现的功能,则是由ThemeSource接口提供:

public interface ThemeSource {
	Theme getTheme(String themeName);
}

所有的web相关的ApplicationContext实现都同时也实现了ThemeSource接口,但是只是声明实现了这个接口,具体的功能实现,是由:ResourceBundleThemeSource提供的

结语

(水平有限,最近在看spring源码,分享学习过程,希望对各位有点微小的帮助。如有错误,请指正~)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值