在资源包属性文件中,我有以下文本
system.invalidID = This accountID $ is not valid for current session.
我想从我的 JSP 和 java 类中的上述资源文本中动态替换 $(这将是运行时的实际 ID)。
我们可以在 JSP 和 java 中做到这一点吗?
在资源包属性文件中,我有以下文本
system.invalidID = This accountID $ is not valid for current session.
我想从我的 JSP 和 java 类中的上述资源文本中动态替换 $(这将是运行时的实际 ID)。
我们可以在 JSP 和 java 中做到这一点吗?
您可以一起使用 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>
你可以试试JSTL Core <fmt:bundle> Tag
见http://www.tutorialspoint.com/jsp/jstl_format_bundle_tag.htm
您实际上可以使用类似的方法创建一个简单的类
public class ResourceBundleHelper{
public String resolveMessage(String key){
//code
}
}
然后创建此类的实例并将其放入ServletContext
jsp el
${resourceBundleHelper.resolveMessage(YOUR_VARIABLE)}