0

最近、Spring MVC の使用に問題があります。プロジェクトで i18n メッセージを使用しています。しかし、jsp は問題ないことがわかりましたが、カスタム Java コードで動作します。

次のように私の設定:</p>

<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource"
    abstract="false" scope="singleton" lazy-init="default">
    <property name="basename" value="messages/messages" />
</bean>

私のjspコード(このテストコードを書くだけで、結果が得られます):

<spring:message code="error.user.none.registered" arguments="aaa"/>

私のJavaコード:

@Resource
protected MessageSource messageSource;
public Object login(String email, String password, String ip)
            throws Exception {
        User t = userDao.queryByEmail(email);
        if (t == null) { // 账号不存在
            return messageSource.getMessage(
                    Constants.ERROR_USER_NONE_REGISTERED,
                    new Object[] { email }, Locale.SIMPLIFIED_CHINESE);
        }
.....
}

このコードは私のUserService.javaログインメソッドにあります。メールが登録されていることを確認したいです。しかし、エラーも発生します

org.springframework.context.NoSuchMessageException: No message found under code 'error.user.none.registered' for locale 'zh_CN'.
4

1 に答える 1

0

dispatcher-servlet.xml で「messageSource」を定義しましたか?

あなたのJavaコード(私が推測するサービス)はapplicationContext.xmlで定義されているので、期待されるメッセージソースが注入されていないと思います。

于 2013-07-29T03:52:19.960 に答える