带参数的JSTL方法调用

问题描述:

我是JSTL的新手,正在寻找一种方法来使用JSTL调用'when'子句中的方法。 我输入这样说:带参数的JSTL方法调用

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

然后我调用该方法使用此语法后来在JSP:

<c:when test= "${sessionBean.aBooleanMethod(form.userName)}" > 

的问题是,我得到这个错误:

...contains invalid expression(s): javax.el.ELException: Error Parsing: ${sessionBean.aBooleanMethod(form.userName)} 

请让我知道如果我需要包含任何更多的信息,或者您有任何问题!谢谢,我很欣赏任何答案/想法!

+0

我已经尝试过在该线程的解决方案,例如这语法类型“$ {bean.getArray(foo)}”对我不起作用。我使用的是完全一样的:“$ {sessionBean.aBooleanMethod(form.userName)}” – 2014-12-03 12:32:42

+1

你是否检查过是否正在运行一个Servlet 3.0兼容容器(例如Tomcat 7,Glassfish 3,JBoss AS 6等) .xml声明符合Servlet 3.0。与EL 2.2? – Blitzkr1eg 2014-12-03 12:38:39

+0

呃,是的,我现在才意识到这一点!我必须使用Jboss 5.2,所以我不能更新到6 ...我想我需要在这种情况下找到解决方法。欢呼声,帮助! – 2014-12-03 12:40:08

固定。在这种情况下,修复是最简单的方法是在我的表单中使用布尔字段,而不是使用一个方法调用,然后测试场JSTL:

<c:when test="${form.someBooleanField}">