- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 JSTL/EL 从 JSP 调用 Java 类中定义的带参数的 Java 方法。该方法返回数组。可以使用任何返回值。
最佳答案
如果您的目标和运行至少一个 Servlet 3.0 兼容容器(例如 Tomcat 7 或更高版本、WildFly 8 或更高版本、GlassFish 3 或更高版本、等)与 web.xml
声明至少符合Servlet 3.0。此 servlet 版本附带 EL 2.2,允许使用参数调用任意实例方法。
假设您有 ${bean}
在引用类实例的范围内,该类的实例具有类似于 public Object[] getArray(String key)
的方法,那么你应该能够做到这一点:
<c:forEach items="${bean.getArray('foo')}" var="item">
${item} <br />
</c:forEach>
或者甚至使用另一个变量作为参数
<c:forEach items="${bean.getArray(foo)}" var="item">
${item} <br />
</c:forEach>
但是如果您不以 Servlet 3.0 容器为目标,那么您根本无法在 EL 中调用带有参数的方法。最好的选择是按照 Duffymo 的建议在预处理 servlet 中完成这项工作。
Object[] array = bean.getArray("foo");
request.setAttribute("array", array);
// ...
作为完全不同的替代方案,您可以创建一个委托(delegate)方法调用的 EL 函数。您可以找到一个启动示例作为此答案的选项 2 How to call a static method in JSP/EL?您希望最终得到如下结果:
<c:forEach items="${util:getArray(bean, 'foo')}" var="item">
${item} <br />
</c:forEach>
与
public static Object[] getArray(Bean bean, String key) {
return bean.getArray(key);
}
web.xml
文件绝对不应该有 <!DOCTYPE>
行放在顶部,否则仍然会强制使用 Servlet 2.3 方式。您可以找到正确的示例 web.xml
本答案后半部分的声明How to install JSTL? The absolute uri: http://java.sun.com/jstl/core cannot be resolved .
关于jsp - 如何使用 JSTL/EL 从 JSP 调用参数化方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7121303/
我想要一个“常量”的 JSTL 文件并在其他文件中引用它们。 例如 常量.jsp: Audi 其他文件: I drive an ${car} which is ${colour} 上面的代码(
你能帮我把这个 JSTL 标签转换成 JSTL 三元吗 class="author" class="${page.class}" > 最佳答案 非常简单: 关于jSTL -
我需要根据请求中存在的值将单选按钮设置为选中状态。下面是我在 JSP 中使用的代码 checked"> Active checked">
我有这个,它正在工作: Hello, world! 我想把它改成这样:
这个问题已经有答案了: Evaluate empty or null JSTL c tags (8 个回答) 已关闭 6 年前。 例如 ${post.title} 最佳答案 使用空关键字
我是 Java EE 技术的初学者。我想知道 jSTL-api jar 和 jSTL-impl jar 之间有什么区别。 为什么API和实现是分开的?这是否意味着还有其他可用的实现? 最佳答案 API
我正在尝试在 jetty 中运行一个在 Tomcat 5.5 中运行良好的应用程序。该应用程序使用 servlet 2.4 和 JSP 2.0。 Jetty/Jasper 抛出这个异常: org.ap
所以这是我用来发送包含值 ${masession.idemp} 的参数“idemp”的代码 "> " alt="consulter tickets
这个问题在这里已经有了答案: How to install JSTL? The absolute uri: http://java.sun.com/jstl/core cannot be resol
我正在学习 Spring-MVC 教程,目前我在 part 2 上.本教程要求我下载 jSTL.jar 和 standard.jar,它们曾经是 Jakarta Taglibs 项目的一部分。该项目已
我正在尝试以这种特定格式格式化数字: “1 234.56” 所以,两个小数,用点分隔。并使用空格字符(可选单引号)将数千个分组。输入值永远不会大于 9999.99。 我尝试为此使用模式,甚至尝试使用语
我正在使用 fmt:formatNumber 在 JSTL 中格式化货币,它会以 ($100) 格式显示负货币,如何让它以负数格式显示负货币而不是 ($100)? 非常感谢, 起诉 最佳答案 如果您使
我不知道我做错了什么,但我不能包括 JSTL。我有 jSTL-1.2.jar,但不幸的是我得到了异常: org.apache.jasper.JasperException: The absolute
我只需要这样的东西: ..... function myFunc(param) { if(param == true) { return "aaa"
当我使用 JSTL c:forEach 标签时,我的项目出现以下错误。我正在使用 apache Tomcat v7.0。 我在 WEB-INF\lib 文件夹中添加了以下 jar。 taglibs-s
以下代码导致错误: 错误提示 "error a line 4: unknown symbol 'test'". 如何将 test 从 JSTL 代码传递到 JSP scriptlet? 最
我正在使用 JSF 2.0 (mojarra) + primefaces 开发 Web 应用程序。过去我成功地使用了jSTL库的[c:set]标签来存储一些临时数据或从其他标签中输出。 在我目前的情况
我的实际目标是得到 工作。我目前正在使用 jetty-runner 7.4.2 运行我的 Web 应用程序。作为一个随机的尝试,我下载了一个更新的版本。这样,当我尝试启动我的 Web 应用程序时,我
为了尝试使用 jSTL,我用 maven 安装了 jSTL 1.2 库。但是,当我通过此消息运行 jsp 页面时,“绝对 uri: [ http://java.sun.com/jsp/jstl/cor
当我混合 JSTL 1.0 和 JSTL 1.1 taglib 声明时,它会在我的一些服务器上导致 ParseException,但不是全部。 这是给我带来麻烦的代码块: |STRINGOFTEX
我是一名优秀的程序员,十分优秀!