我如何在JSF 2.0中使用EL中的参数/变量/参数调用直接方法或方法?
例如,在EL中获取列表大小:
<h:outputText value="#{bean.list.size()}" />
Run Code Online (Sandbox Code Playgroud)
或者使用参数调用action方法:
<h:commandButton value="edit" action="#{bean.edit(item)}" />
Run Code Online (Sandbox Code Playgroud)
这在我的环境中似乎不起作用.它似乎不喜欢括号.
javax.el.ELException:错误解析:#{bean.list.size()}
com.sun.el.parser.ParseException:遇到"("
在某些MVC框架中,如果您希望执行某些代码并呈现某些部分视图,则可以从视图中调用控制器操作.我不确定在Spring MVC中执行它的正确方法是什么
我想要一组JSP模板.其中一些将是页面布局,其中一些将是小组件,如分页器,登录框,菜单,标签云等等.这些组件中的每一个都需要一些bean或控制器操作来将一些数据设置到ViewAndModel中,以便视图可以使用它.
问题是我不想在每次调用中设置所有这些对象.我的注册管理员只关心注册处理.所以现在我该怎么做呢?如何从视图中调用DI bean或控制器以准备部分视图?或者我应该创建一些映射?或者我是从完全错误的角度来解决问题的?
我收到了这个错误
/WEB-INF/jsp/account/index.jsp(6,0)当未指定默认命名空间时,函数getMessageData必须与前缀一起使用
<c:set var="messageData" scope="session" value="${usermap.getMessageData()}"/>
<c:set var="scheduleData" scope="session" value="${usermap.getScheduleData()}"/>
<c:set var="meetingData" scope="session" value="${usermap.getMeetingData()}"/>
Run Code Online (Sandbox Code Playgroud)
请注意,我可以在本地Tomcat上运行相同的项目而不会出现任何错误.
服务器上的Tomcat版本是"Tomcat 6.0"
我正在使用JSF并希望只有当关联的托管bean中的String值大于零时才应该呈现一个组件.我这样做:
rendered="#{tabbedToolbarBean.editor.selectedQuery.length() gt 0}"
Run Code Online (Sandbox Code Playgroud)
此外,吸气剂的签名selectedQuery是 public String getSelectedQuery(){}.我使用最新版本的weblogic服务器时出现以下错误.
错误:函数长度具有无效前缀或使用未定义的默认命名空间.更正前缀或在jsp文档中,将函数放在定义标记库名称空间的标记内
我错过了什么?谷歌搜索后得不到多少帮助.