寻求一些帮助。尝试在复杂的dataTable中使用此功能(最新的6.0版本),因为我们的一些列具有嵌套/多个元素,这似乎是控制导出输出的完美选择。文档声明它需要解析为一个MethodExpression,它接受一个列的实例。无论我尝试什么语法/方法实现,我总是会遇到错误。我目前仍然使用EL版本2.0(Weblogic 10.3.6 JSF 2.0),因此无法使用括号。
首先,我尝试了一个正常的valueExpression。这解析为firstName然后错误说它不是methodExpression
<p:column headerText="first" exportFunction="#{vo.firstName}">
<h:panelGroup>
<!--Lots of other non exporter stuff here-->
<h:outputText value="#{vo.firstName}"/>
</h:panelGroup>
</p:column>
然后我试过了。同样的问题。
<p:column headerText="first" exportFunction="#{vo['firstName']}">
<h:panelGroup>
<!--Lots of other non exporter stuff here-->
<h:outputText value="#{vo.firstName}"/>
</h:panelGroup>
</p:column>
当我写一个实际的方法时:
public String showFirstName(Column column) {
return "test";
}
并使用如下:
<p:column headerText="first" exportFunction="#{bean.showFirstName}">
<h:panelGroup>
<!--Lots of other non exporter stuff here-->
<h:outputText value="#{vo.firstName}"/>
</h:panelGroup>
</p:column>
这是错误的
bean does not have the property 'showFirstName'
如果我在方法中添加括号:
<p:column headerText="first" exportFunction="#{bean.showFirstName()}">
<h:panelGroup>
<!--Lots of other non exporter stuff here-->
<h:outputText value="#{vo.firstName}"/>
</h:panelGroup>
</p:column>
我明白了:
Error Parsing: #{bean.showFirstName()}
Encountered "(" at line 1, column 26. Was expecting one of: "}" ... "." ... "[" ... ">" ... "gt" ... "<" ... "lt" ... ">=" ... "ge" ... "<=" ... "le" ... "==" ... "eq" ... "!=" ... "ne" ... "&&" ... "and" ... "||" ... "or" ... "*" ... "+" ... "-" ... "?" ... "/" ... "div" ... "%" ... "mod" ...
任何指导都非常感谢。我觉得我的问题是EL版本。
你认为拥有另一个ExportValue属性也是个好主意。这可能只是采用普通的valueExpression,并且使用起来非常简单。