将浏览器时区传递到后端spring引导应用程序,以根据浏览器时区生成包含日期的报告
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将浏览器时区传递到后端spring引导应用程序,以根据浏览器时区生成包含日期的报告相关的知识,希望对你有一定的参考价值。
要求:当用户在浏览器中选择导出报告为CSV时,将一些数据导出为csv文件。
前端 - Angular 5后端 - Spring Boot 1.5.10.RELEASE
我们将在服务器上生成报告,然后将其发送到浏览器。该报告包含日期,需要在浏览器的时区中显示。什么是实现这一目标的最佳方式?我是否必须将时区作为URL请求参数发送?
答案
您可以将方法argumentTimeZone
添加到控制器,然后获取时区。这是一个例子:
@RequestMapping
public String foo(..., TimeZone timezone, ...)
{
logger.info("This is the client timezone: " + timezone.getDisplayName());
}
根据Spring Documentation,如果可用,可以使用RequestContext.getTimeZone()
方法获得用户的时区。正如评论中所提到的,LocaleContextResolver可用于获取用户时区。
请注意,浏览器默认标头没有任何客户端的时区信息。您必须手动添加此信息。
以上是关于将浏览器时区传递到后端spring引导应用程序,以根据浏览器时区生成包含日期的报告的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JWT 从前端(角度 4)将密钥传递到后端(节点 js)