【发布时间】:2012-03-27 10:58:49
【问题描述】:
我想使用 scriptlet 在我的 jsp 文件中调用一个静态方法,我想像这样在 jstl 中获取变量的值:
<%= Utilities.splitString(${article.nommodel}); %>
它会产生错误,
如何获得 ${article.nommodel} 的值?
谢谢
【问题讨论】:
我想使用 scriptlet 在我的 jsp 文件中调用一个静态方法,我想像这样在 jstl 中获取变量的值:
<%= Utilities.splitString(${article.nommodel}); %>
它会产生错误,
如何获得 ${article.nommodel} 的值?
谢谢
【问题讨论】:
您正在尝试在 JSP 中同时使用 2 种不同的编码方式。
${obj.property} 之类的语法是表达式语言语法,不能与 Scriptlet 混合使用。
你可以做的是在你的 scriptlet 中从它所在的任何范围中提取变量并在 scriptlet 中使用它:
未经测试的代码:
<%
String nommodel = ((foo.Article)pageContext.getAttribute("article")).getNommodel());
out.write(Utilities.splitString(nommodel));
%>
当然,你真的应该尽量避免使用脚本。自定义标记是与 JSP 一起使用的更好方法,可以提供更好的组件化并因此可以重用您的代码。
【讨论】: