Стандартный распознаватель не может оценить вызов метода с параметрами.
Вот несколько решений:
Использование свойства temp в вашем bean-компоненте:
<c:set target="${roleManager}" property="roleId" value="${roleId}"/>
<c:set var="roleIdValue" value="#{roleManager.roleStatus}" />
Также вам необходимо добавить следующий код к вашему бобу:
private String roleId;
public String getRoleStatus() {
// Invocation of your logic with the parameter.
return getRoleStatus(getRoleId());
}
public String getRoleId() {
return roleId;
}
public void setRoleId(String roleId) {
this.roleId = roleId;
}
Использование функций:
На странице:
${prefix:methodName(param1, param2, ...)}
И вы должны объявить функцию в taglib:
<function>
<name>methodName</name>
<function-class>className</function-class>
<function-signature>
returnType methodName(param1Type, param2Type, ...)
</function-signature>
В качестве параметров вы можете использовать сам ваш roleManager и аргумент.
Использование el-resolver, позволяющего вызывать методы:
Используйте, например, JBoss El resolver,
или также вы можете реализовать собственное решение, как описано здесь:
http://technology.amis.nl/blog/622/how-to-call-methods-from-el-expressions-pre-jsp-20-trick-for-jsps-with-jstl