У меня есть p: dataGrid, который показывает компании. У этих компаний есть логотип, и я хочу показать их логотип
в dataGrid под их именами, но изображения не появляются на странице. Только появляется разбитое изображение квадрата.
Код xhtml;
<p:dataGrid value="#{BDS_Company.companyList}" var="cmp" rows="5" columns="3">
<p:column>
<h:panelGrid columns="1">
<h:outputLabel value="#{cmp.cmpName}"/>
<h:outputLabel value="#{cmp.cmpEmail}"/>
<p:graphicImage value="#{BDS_Company.companyLogo(cmp)}"/>
</h:panelGrid>
</p:column>
</p:dataGrid>
Код управляемого компонента;
public DefaultStreamedContent companyLogo(BdsCompany company) {
if (company != null) {
if (company.getCmpLogo() != null) {
InputStream is = new ByteArrayInputStream(company.getCmpLogo().getDocFile());
return new DefaultStreamedContent(is);
}
}
return null;
}
Когда я меняю такой код, я делаю исключение: «Метод companyLogo не найден»
public DefaultStreamedContent getCompanyLogo(BdsCompany company) {
if (company != null) {
if (company.getCmpLogo() != null) {
InputStream is = new ByteArrayInputStream(company.getCmpLogo().getDocFile());
return new DefaultStreamedContent(is);
}
}
return null;
}
Но другая страница, которую я использовал getPersonPicture (), которая показывает изображение профиля зарегистрированного человека и не принимает параметры, работает отлично! , Я не понимаю, почему логотипы компаний не появляются на странице: /
Кто-нибудь может мне помочь в этой ситуации или предложить другой способ показа изображений?
Заранее спасибо.