JSP EL是否有eval函数?
我正在寻找一种在JSP页面中输出字符串时将其作为el进行求值的方法。(我猜当它是toString()时,在引擎盖下调用方法??) 例如,在我的页面中,如果我这样做:JSP EL是否有eval函数?,jsp,eval,el,Jsp,Eval,El,我正在寻找一种在JSP页面中输出字符串时将其作为el进行求值的方法。(我猜当它是toString()时,在引擎盖下调用方法??) 例如,在我的页面中,如果我这样做: <title>${bean.title}</title> ${bean.title} title将是bean的一个属性,它将返回一个字符串。我想将其他EL表达式存储在bean.title中,以便对它们进行计算 因此,如果bean.title=“这是${param.pageType}页面”,显然这将在写入页
<title>${bean.title}</title>
${bean.title}
title将是bean的一个属性,它将返回一个字符串。我想将其他EL表达式存储在bean.title中,以便对它们进行计算
因此,如果bean.title=“这是${param.pageType}页面
”,显然这将在写入页面之前进行计算
有什么方法可以做到这一点吗?实际上,您在错误的方向上寻找解决方案。您应该为此使用。它还支持消息。您应该只更改代码以将消息存储在(可国际化)
.properties
文件中,而不是bean中
假设在com.example.i18n
包中的text.properties
文件中有以下键值项
title = This is the {0} page
title=这是{0}页
然后您可以按如下方式使用它
<%@ 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>
...
它遵守法律的规定
另见:
- -迷你教程
控件实现自定义ResourceBundle
,然后使用一些过滤器或Servlet将其放入请求范围。在控件中
可以从数据库加载捆绑包。您可以在这里找到一个基本示例(忽略JSF标记,然后使用前面提到的过滤器/servlet方法将它们放入请求范围,然后使用${bundle.title}
等等)。