当前位置 : 主页 > 编程语言 > java >

是否有JSP EL的eval函数?

来源:互联网 收集:自由互联 发布时间:2021-06-25
我正在寻找一种方法来在JSP页面输出时将字符串计算为el. (我想当它的toString()方法在引擎盖下调用???) 例如,在我的页面中,如果我这样做: title${bean.title}/title title将是bean的属性,它将返回
我正在寻找一种方法来在JSP页面输出时将字符串计算为el. (我想当它的toString()方法在引擎盖下调用???)

例如,在我的页面中,如果我这样做:

<title>${bean.title}</title>

title将是bean的属性,它将返回一个字符串.我想在bean.title中存储其他EL表达式,以便对它们进行评估.

因此,如果bean.title =“这是${param.pageType}页面”,显然会在它写入页面之前进行评估.

有没有办法做到这一点?

你实际上是在寻找错误方向的解决方案.您应该使用 JSTL fmt 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? – 一个迷你教程

网友评论