3

ローカライズされたSpringMVCベースのWebアプリケーションがあり、外部化されたメッセージリソースバンドル/ファイルがあります。

バンドル内のいくつかのサンプルメッセージは次のとおりです。

...
msg1=Click here to go to your account
msg2=Click here to go to your inbox
...

ご覧のとおり、「ここをクリック...」という形式のメッセージがあります。ここで、メッセージ/テキストの「ここをクリック」部分をリンクとして作成します。リンク先はそれぞれ異なります。ユーザー(たとえば、「msg1」の場合、user1にはuser1のアカウントへのリンクがあり、user2の場合、ターゲットはuser2のアカウントへのリンクになります)。

これをどのように達成できるか教えていただけますか?

4

1 に答える 1

3

リンクはすべてのユーザーで同じである必要があります。ユーザーは認証されているため、サーバーは特定のリクエストを実行しているユーザーを認識し、リクエストパラメータではなくその情報を使用して、現在のユーザーの受信トレイまたはアカウントを取得する必要があります。

とはいえ、ユーザーごとに異なるリクエストパラメータを本当に渡す必要がある場合は、メッセージをパラメータ化するだけです。

msg1=<a href="{0}">Click here</a> to go to your account

そして、メッセージタグを使用して引数を渡します。JSTLの場合、これは次のようになります。

<c:url var="accountUrl" value="/account.action">
    <c:param name="userId" value="${currentUserId}"/>
</c:url>
<fmt:message key="msg1">
    <fmt:param value="${accountUrl}"/>
</fmt:message>
于 2012-06-24T18:35:58.863 に答える