我正在寻找一种方法来在JSP页面输出时将字符串计算为el. (我想当它的toString()方法在引擎盖下调用???) 例如,在我的页面中,如果我这样做: title${bean.title}/title title将是bean的属性,它将返回
例如,在我的页面中,如果我这样做:
<title>${bean.title}</title>
title将是bean的属性,它将返回一个字符串.我想在bean.title中存储其他EL表达式,以便对它们进行评估.
因此,如果bean.title =“这是${param.pageType}页面”,显然会在它写入页面之前进行评估.
有没有办法做到这一点?
你实际上是在寻找错误方向的解决方案.您应该使用 JSTLfmt
taglib.它也支持
parameterized消息.您应该只更改代码以将消息存储在(国际化的).properties文件中而不是bean中.
假设text.properties文件中包含以下键值条目,该文件位于com.example.i18n包中
title = This is the {0} page
然后你可以按如下方式使用它
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <fmt:setBundle basename="com.example.i18n.text" /> ... <title> <fmt:message key="title"> <fmt:param value="${param.pageType}" /> </fmt:message> </title>
它遵守MessageFormat
API的规则.
也可以看看:
> How to internationalize a Java web application? – 一个迷你教程