2015-10-06 47 views
1

我想为我的数据表中的每一行显示图像。我从omnifaces一个例子:

<!-- Table with role list --> 
<p:dataTable id="idRolesTable" value="#{staffMB.roleNestedList}" var="row" 
    paginatorAlwaysVisible="false" paginator="#{userSessionMB.getWebOption('paginator')}" 
    paginatorTemplate="#{userSessionMB.paginatorTemplate}" selection="#{staffMB.selectedRole}" selectionMode="single" 
    paginatorPosition="#{userSessionMB.getWebOption('paginatorPosition')}" rowsPerPageTemplate="10,15,20,50" 
    rows="10" emptyMessage="#{contentMB.msg.label_noItemsFound.value}" rowKey="#{row.pid}" widgetVar="roleTable" 
    tableStyle="table-layout: fixed;" filteredValue="#{staffMB.filteredRoleList}"> 


    <!-- Image --> 
    <p:column id="slRoleImageColumn" headerText="#{contentMB.msg.label_id.value}" sortBy="#{row.roleId}" style="width:5%;" 
     filterBy="#{row}" filterFunction="#{staffControllerMB.filterByRoleId}"> 
     <o:graphicImage value="#{imagesMB.getImage(row.ownerPerson.documentId)}" width="50"/> 
    </p:column> 

与ImageMB类:

@ManagedBean(name = "imagesMB") 
@ApplicationScoped 
public class ImagesMB extends BaseControllerMB { 

private static final long serialVersionUID = 7074295738016877803L; 

@ManagedProperty(value = "#{documentManager}") 
protected IDocumentManager documentManager = null; 


public byte[] getImage(Integer docId) { 
    PpbDocsDbBean image = documentManager.getDefaultDocument(docId); 

    if (image == null) 
     return null; 

    Integer size = image.getPptDfiles().getDoclen(); 
    byte[] byteArrayDocument = image.getPptDfiles().getDocstore().getFixedByteArray(size); 
    return byteArrayDocument; 
} 

有一个例外:

无法将类型的org.omnifaces.el.E​​[email protected] class org.omnifaces.el.E​​xpressionInspector $ FinalBaseHolder to class java.lang.Integer

jsf 2.2.12,Tomcat 8.0.14,jdk 8,omnifaces 2.1

+0

根据迄今为止提供的相关信息(但是使用Tomcat 8.0.26而不是8.0.14,所以也许会有所不同),我无法再现问题。请按照http://stackoverflow.com/tags/jsf/info中的要求创建一个MCVE。在我的情况下,我用这个MCVE:http://pastebin.com/wfD9hTPu – BalusC

+0

@BalusC问题是我使用旧版本的el-impl(jboss-el 2.0.1.GA)而不是基于容器。当我改变这一点时,问题就消失了。谢谢。 – Nikola

回答

0

根据注释,问题已由OP解决。

问题是我使用旧版本的el-impl(jboss-el 2.0.1.GA)而不是基于容器。当我改变这一点时,问题就消失了。谢谢。

相关问题