最近在弄springmvc国际化,碰到一个问题,昨天下午两三个小时加上今天上午,最后终于在大佬同事的提示下知道了原因所在。
首先注意spring.ftl的这句话
这是freemarker的宏变量,由此可以看出springMacroRequestContext是一个对象,有没有觉得getmessage很熟悉了
这是freemarker自定义标签的代码
因为自定义标签里没有springMacroRequestContext对象,所以调用<@spring.message code=""/>标签会报错,网上资料很少,
罪魁祸首就是
这个springMacroRequestContext所在的源码处,在
这个put是一个map,后面的new RequestContext(request, response, getServletContext(), model) 才是关键,早上我打断点从走过好几次硬是没注意,真是一万只草泥马跑过,后来在大佬同事的点醒之下解决了问题, 还是都静下心看呀,不能急躁!!!