我有一个基于Spring MVC的本地化Web应用程序,该应用程序具有外部化的消息资源包/文件.
捆绑中的几个示例消息是:
...
msg1=Click here to go to your account
msg2=Click here to go to your inBox
...
如您所见,我的消息格式为:“单击此处…”.现在,我希望将消息/文本的“单击此处”部分作为链接,每个目标的目的地都不同用户(例如,对于“ msg1”,用户1将具有指向用户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>