1

私はSpring3.0を使用しており、ログインにSpringセキュリティを使用しています。login.jspページをwebappフォルダーに配置し、ローカリゼーションサポートにメッセージを使用しようとしています。例:

<spring:message code="label.title"/>

残念ながら、jspはエラーを与えるメッセージを見つけることができません。

javax.servlet.ServletException:javax.servlet.jsp.JspTagException:ロケール'en_US'のコード'label.title'の下にメッセージが見つかりません

コントローラを経由するjspでメッセージコードを使用すると、正常に機能します。

ユーザーがログインしていない場合、Spring Securityはlogin.jspページにリダイレクトするため、ページはコントローラーなしで(直接)処理されます。

コントローラを経由しない場合にも、jspにリソースバンドルを表示させる方法を知っている人はいますか?

ありがとう!

4

2 に答える 2

3

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 ...)に応じて、「login」という名前のビューを作成します。

于 2012-07-13T13:11:57.710 に答える
1

使用する

<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>

次に、jspでコンテンツを直接参照します。

<spring:message code="lable.name" />
于 2012-07-13T04:14:46.913 に答える