我正在使用Spring 3.0并使用Spring Security进行登录。我已将login.jsp页面放置在webapp文件夹中,并且尝试使用消息进行本地化支持,例如:
<spring:message code="label.title"/>
不幸的是,jsp找不到给出错误的消息:
javax.servlet.ServletException:javax.servlet.jsp.JspTagException:在代码“ label.title”下找不到语言环境“ en_US”的消息
当我在通过控制器的jsp中使用消息代码时,它工作正常。
由于当用户未登录时spring安全性将重定向到login.jsp页面,因此无需控制器即可直接处理该页面。
没有人知道如何在不通过控制器的情况下使jsp也看到资源束吗?
谢谢!
您必须强制Spring呈现页面login.jsp,该页面实际上不受Spring管理。因此,创建一个虚拟控制器:
/** * UI Controller that renders the signin-form. */ @Controller public class SigninController { /** * Render the signin form to the person as HTML in their web browser. * Returns void and relies in request-to-view-name translation to kick-in to * resolve the view template to render. */ @RequestMapping(value = "/login", method = RequestMethod.GET) public void login() { } }
并根据您使用的ViewResolver(TilesViewResolver,UrlBasedViewResolver …)创建名为“登录”的视图