Ok.  That's pretty much what I'm doing too.

I'll post some code snippets.

Here's two ways to pop up a new window.  I haven't gotten the
jenia4Faces PopupFrame component working to my satisfaction yet, but
the command link works fine.  I'm using something other than _blank
because I want it to always reuse the window rather than recreating a
new one each time.

<h:commandLink id="contentViewButton"
    immediate="#{true}"
        value="View In New Window"
        action="#{editAnnouncementsPage.showContentData}"
    target="View Content Data"
        />

<jp:popupFrame id="contentPopupFrame"
    immediate="#{true}"
        height="450px" width="550px"
        center="true"
        actionOpen="#{editAnnouncementsPage.showContentData}">
        <h:outputText value="View Popup"/>
</jp:popupFrame>

showContentData() looks as follows.   viewContentDataPage is a
request-scoped backing bean that will be used by the newly displayed
page.  showContentData initializes it with my  content to display.

    public String showContentData()
    {
        Content selectedContent =
(Content)this.announcementContentDataList.getRowData();

        ValueBinding binding =
FacesContext.getCurrentInstance().getApplication().createValueBinding("#{viewContentDataPage}");
        ViewContentData viewContentDataPage =
(ViewContentData)binding.getValue(FacesContext.getCurrentInstance());
        viewContentDataPage.setContent(selectedContent);

        return "showSelectedContentData";
    }

Because viewContentDataPage is request-scoped, I use t:saveState to
preserve the "content" attribute of the viewContentDataPage.   This
tag exists on both of my pages.  It doesn't matter where you place it.

                <t:saveState id="savedSelectedAnnouncementContent"
value="#{viewContentDataPage.content}"/>

Here's the more interesting content types I display now.  It's unclear
to me how you'd display some of the more exotic data types (like pdfs)
inline.   Instead, you'd probably provide the ability to download the
data.

                        <sandbox:graphicImageDynamic id="imageDisplay"
                                
rendered="#{viewContentDataPage.isImageContentType}"
                                
getContentTypeMethod="#{viewContentDataPage.content.getContentType}"
                                
getBytesMethod="#{viewContentDataPage.content.contentData.getData}"/>
                
                <h:panelGroup id="textPlainDisplayPanel"
                                
rendered="#{viewContentDataPage.isTextPlainContentType}">
                                <pre>
                        <h:outputText id="textPlainDisplay"
                                
value="#{viewContentDataPage.content.contentData.text}"/>
                        </pre>
                        </h:panelGroup>
                        
                <h:outputText id="htmlPlainDisplay"
                                
rendered="#{viewContentDataPage.isTextHtmlContentType}"
                        escape="#{false}"
                        
value="#{viewContentDataPage.content.contentData.text}"/>

                <h:outputText id="unknownDisplay"
                                
rendered="#{viewContentDataPage.isUnknownContentType}"
                        value="[Unable to display unknown content type]"/>


On 9/30/05, Nicolas GENSOLLEN <[EMAIL PROTECTED]> wrote:
> Mike you are my hero !!!! :))
>
> I want to display a link on a jsf page, by clicking on this link my document
> display in a new page.
>
> I tried using a commandLink component with a target="_blank" but the result
> is not good.
>
> My blog may be an image, a pdf or anyelse other file ....
>
> Thank you for your help !
>
>
> ----- Original Message -----
> From: "Mike Kienenberger" <[EMAIL PROTECTED]>
> To: "MyFaces Discussion" <[email protected]>
> Sent: Friday, September 30, 2005 5:59 PM
> Subject: Re: Blob and JSF
>
>
> I've just finished doing this during the last week, so it can be done.
>
> You'll have to provide more details of what you're trying to do,
> though.   There are many different ways to do it.
>
> I use Cayenne to pull the data from the database, and the new sandbox
> graphicImageDynamic component to display image data, and standard
> h:outputText components to display my plain-text and html-text data.
>
> On 9/30/05, Nicolas GENSOLLEN <[EMAIL PROTECTED]> wrote:
> >
> > Hello everybody,
> >
> > I've a problem to display a blob in a jsf page, i don't find any way to do
> > it,
> > and I would know if someone succeed doing this ?
> >
> > Thank you !
> >
> > Nicolas Gensollen
> >
>
>

Reply via email to