gpt4 book ai didi

jsp - JSP EL 有 eval 函数吗?

转载 作者:行者123 更新时间:2023-12-04 20:54:50 24 4
gpt4 key购买 nike

我正在寻找一种在 JSP 页面中输出字符串时将字符串计算为 el 的方法。 (我猜当它的 toString() 方法在引擎盖下被调用时???)

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

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

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

所以,如果 bean.title = " This is the ${param.pageType} page ",显然会在它被写入页面之前进行评估。

有没有办法做到这一点?

最佳答案

您实际上是在错误的方向上寻找解决方案。您应该使用 JSTL fmt taglib为了这。支持parameterized消息也是如此。您应该只更改代码以将消息存储在(可国际化的).properties 中文件而不是在 bean 中。
假设您在 text.properties 中有以下键值条目放置在 com.example.i18n 中的文件包裹

title = This is the {0} page

then you can use it as follows

<%@ 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? - 小教程
  • 关于jsp - JSP EL 有 eval 函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756938/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com