3

我有一个本地化的基于 spring mvc 的 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 回答