带有 HTML 链接的 Spring 消息资源



我有一个本地化的基于Spring mvc的Web应用程序,它有一个外部化的消息资源包/文件。

捆绑包中的几个示例消息是:

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

如您所见,我有以下形式的消息:"单击此处..."。现在,我希望将消息/文本的"单击此处"部分作为链接,其目的地对于每个用户都是不同的(例如,对于"msg1",user1 将具有指向用户 1 帐户的链接,而对于用户 2,目标将是指向用户 2 帐户的链接,依此类推)。

你能告诉我如何做到这一点吗?

所有用户的链接应该相同。由于用户已经过身份验证,因此服务器应该知道哪个用户正在执行给定的请求,因此应该使用该信息而不是请求参数来获取当前用户的收件箱或帐户。

也就是说,如果您确实需要传递一个对每个用户都不同的请求参数,只需参数化您的消息:

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>

最新更新