0

在资源包属性文件中,我有以下文本

system.invalidID = This accountID $ is not valid for current session.

我想从我的 JSP 和 java 类中的上述资源文本中动态替换 $(这将是运行时的实际 ID)。

我们可以在 JSP 和 java 中做到这一点吗?

4

3 回答 3

3

您可以一起使用 JSTL<fmt:message><fmt:param>标签来参数化消息。

下面的basename属性指的是你的ResourceBundle属性文件的基本名称,它必须可以在 webapp 的类路径中访问。把所有东西放在一起看起来像这样:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:setBundle basename="com.y.app.Messages" var="bundle" />
<fmt:message bundle="${bundle}" key="system.invalidID">
  <fmt:param value="${attemptedID}" />
</fmt:message>
于 2013-09-06T05:43:56.440 回答
1

你可以试试JSTL Core <fmt:bundle> Tag

http://www.tutorialspoint.com/jsp/jstl_format_bundle_tag.htm

于 2013-09-06T05:13:15.140 回答
0

您实际上可以使用类似的方法创建一个简单的类

public class ResourceBundleHelper{

    public String resolveMessage(String key){
     //code
    }

} 

然后创建此类的实例并将其放入ServletContextjsp el

${resourceBundleHelper.resolveMessage(YOUR_VARIABLE)}
于 2013-09-06T05:12:11.047 回答