Java 数据表中的动态图像 我已经找到了一些资源:

Java 数据表中的动态图像 我已经找到了一些资源:,java,jsf,primefaces,jboss-seam,Java,Jsf,Primefaces,Jboss Seam,但是我的开发环境有点不同 JSF2.0 PrimeFaces4.0 春季3.1.1 JBossSeam 2.3 JBossAS 7.1.1最终版 如果我不使用JBoss Seam,就可以了。我无法删除jbossseam,因为我的项目中有很多类。我们的团队必须在这些环境下继续发展 示例2.xhtml <h:form id="attachmentForm" enctype="multipart/form-data"> <p:dataTable var="attachme

但是我的开发环境有点不同

  • JSF2.0
  • PrimeFaces4.0
  • 春季3.1.1
  • JBossSeam 2.3
  • JBossAS 7.1.1最终版
如果我不使用JBoss Seam,就可以了。我无法删除
jbossseam
,因为我的项目中有很多类。我们的团队必须在这些环境下继续发展

示例2.xhtml

<h:form id="attachmentForm" enctype="multipart/form-data">
    <p:dataTable var="attachment" value="#{ImageActionBean.proposalAttachmentList}" rows="1" paginator="true">
        <p:column style="width:50px;">
            <h:outputText value="#{attachment.id}" />
        </p:column>
        <p:column style="width:150px;">
            <h:outputText value="#{attachment.contextType}" />
        </p:column>
        <p:column>
            <p:graphicImage value="#{ImageActionBean.streamedImage}">
                <f:param name="attachmentId" value="#{attachment.id}"/>
            </p:graphicImage>
        </p:column>
    </p:dataTable>
</h:form>

ImageActionBean.java

@Scope(ScopeType.CONVERSATION)
@Name("ImageActionBean")
public class ImageActionBean {
    private boolean initFlag = true;
    @In("#{ProposalItemService}")
    private IProposalItemService proposalItemService;
    @In("#{AttachmentFilter}")
    private AttachmentFilter attachmentFilter;
    private List<ProposalAttachment> proposalAttachmentList;

    @Begin(join = true)
    public void init() {
        initFlag = false;
        proposalAttachmentList = proposalItemService.findProposalAttachById("PIT00000000000010116012014");
    }   

    public boolean getInitFlag() {
        return initFlag;
    }

    public List<ProposalAttachment> getProposalAttachmentList() {
        return proposalAttachmentList;
    }

    public StreamedContent getStreamedImage() {
        FacesContext context = FacesContext.getCurrentInstance();
        if (context.getCurrentPhaseId() == PhaseId.RENDER_RESPONSE) {
            return new DefaultStreamedContent();
        } else {
            String attachmentId = context.getExternalContext().getRequestParameterMap().get("attachmentId");
            System.out.println("Attachment ID : " + attachmentId);
            IAttachment attachment = attachmentFilter.findAttachment("ProposalAttachment", attachmentId);
            return new DefaultStreamedContent(new ByteArrayInputStream(attachment.getData()), attachment.getContextType());
        }       
    }
}
@Scope(ScopeType.CONVERSATION)
@名称(“ImageActionBean”)
公共类ImageActionBean{
私有布尔initFlag=true;
@在(“#{ProposalItemService}”)中
私有IProposalItemService proposalItemService;
@在(“#{AttachmentFilter}”)中
私有AttachmentFilter AttachmentFilter;
私人清单提议附件清单;
@开始(join=true)
公共void init(){
initFlag=false;
proposalAttachmentList=proposalItemService.findProposalAttachById(“PIT00000000000010116012014”);
}   
公共布尔getInitFlag(){
返回初始标志;
}
公共列表GetProposeAltachmentList(){
返回建议附件列表;
}
public StreamedContent getstreamdimage(){
FacesContext context=FacesContext.getCurrentInstance();
if(context.getCurrentPhaseId()==PhaseId.RENDER_响应){
返回新的DefaultStreamedContent();
}否则{
字符串attachmentId=context.getExternalContext().getRequestParameterMap().get(“attachmentId”);
System.out.println(“附件ID:+attachmentId”);
IAttachment附件=attachmentFilter.findAttachment(“ProposeAttachment”,attachmentId);
返回新的DefaultStreamContent(新的ByteArrayInputStream(attachment.getData()),attachment.getContextType());
}       
}
}
可日期:

堆栈跟踪:

17:16:18,257 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,257 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.manager

17:16:18,257 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,257 DEBUG [org.jboss.seam.contexts.Contexts] destroying: attachment

17:16:18,257 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,257 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.transaction.synchronizations

17:16:18,257 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,257 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.web.servletContexts

17:16:18,257 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,257 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.web.requestContextPath

17:16:18,257 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,257 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.events

17:16:18,257 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,257 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.web.requestServletPath

17:16:18,257 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,257 DEBUG [org.jboss.seam.contexts.FacesLifecycle] <<< End JSF request for /insudemo/view/example_2.se
am

17:16:18,277 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,277 DEBUG [org.jboss.seam.init.Initialization] Using Java hot deploy

17:16:18,280 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,280 DEBUG [org.jboss.seam.util.Resources] Loaded resource from servlet context: jndi:/default-host/ins
udemo/view/login.page.xml

17:16:18,280 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,280 DEBUG [org.jboss.seam.util.Resources] Loaded resource from servlet context: jndi:/default-host/ins
udemo/WEB-INF/pages.xml

17:16:18,280 SEVERE [org.primefaces.application.PrimeResourceHandler] (http-localhost-127.0.0.1-8080-1) Error in streaming dynamic resource. null
17:16:18,365 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,365 DEBUG [org.jboss.seam.init.Initialization] Using Java hot deploy

17:16:18,368 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,368 DEBUG [org.jboss.seam.util.Resources] Loaded resource from servlet context: jndi:/default-host/ins
udemo/view/login.page.xml

17:16:18,369 INFO  [stdout] (http-localhost-127.0.0.1-8080-1) 17:16:18,369 DEBUG [org.jboss.seam.util.Resources] Loaded resource from servlet context: jndi:/default-host/ins
udemo/WEB-INF/pages.xml

17:16:18,369 SEVERE [org.primefaces.application.PrimeResourceHandler] (http-localhost-127.0.0.1-8080-1) Error in streaming dynamic resource. Expression cannot be null
17:16:18257信息[stdout](http-localhost-127.0.0.1-8080-1)17:16:18257调试[org.jboss.seam.contexts.contexts]销毁:org.jboss.seam.core.manager
17:16:18257信息[stdout](http-localhost-127.0.0.1-8080-1)17:16:18257调试[org.jboss.seam.contexts.contexts]销毁:附件
17:16:18257信息[stdout](http-localhost-127.0.0.1-8080-1)17:16:18257调试[org.jboss.seam.contexts.contexts]销毁:org.jboss.seam.transaction.synchronizations
17:16:18257信息[stdout](http-localhost-127.0.0.1-8080-1)17:16:18257调试[org.jboss.seam.contexts.contexts]销毁:org.jboss.seam.web.servletContexts
17:16:18257信息[stdout](http-localhost-127.0.0.1-8080-1)17:16:18257调试[org.jboss.seam.contexts.contexts]销毁:org.jboss.seam.web.requestContextPath
17:16:18257信息[stdout](http-localhost-127.0.0.1-8080-1)17:16:18257调试[org.jboss.seam.contexts.contexts]销毁:org.jboss.seam.core.events
17:16:18257信息[stdout](http-localhost-127.0.0.1-8080-1)17:16:18257调试[org.jboss.seam.contexts.contexts]销毁:org.jboss.seam.web.requestServletPath
17:16:18257信息[stdout](http-localhost-127.0.0.1-8080-1)17:16:18257调试[org.jboss.seam.contexts.FacesLifecycle]