2014-12-03 100 views
1

我是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

回答

0

固定。在這種情況下,修復是最簡單的方法是在我的表單中使用布爾字段,而不是使用一個方法調用,然後測試場JSTL:

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