Pier Luigi
Pier Luigi

Reputation: 7871

JSF and links: the target property doesn't work?

I need to render a simple link in a page that open a pdf file in a new browser window. I wrote the following tag:

  <h:commandLink target="_blank" 
       action="showPDF"
       title="Show attached PDF"           
       actionListener="#{bean.doShowPDF}"                      
       value="Show PDF">
         <f:attribute name="path" value="#{bean.pdfPath}" />
  </h:commandLink>

The target attribute seems to be ignored. The destination page appear over the current.

I tried with h:outputLink:

   <h:outputLink target="_blank" 
       title="Show attached PDF" 
       value="/visAttached.jspx">
         <f:param name="path" value="#{bean.pdfPath}" />
      Show PDF
   </h:outputLink>

but with the same result. The generated html , in both cases, has not the target attribute.

Where's my fault? There is a better strategy in JSF to show a file in a new browser window?

Upvotes: 1

Views: 6955

Answers (1)

Adam
Adam

Reputation: 5070

Try the ice: versions of them: ice:outputLink, or ice:commandLink. The component showcase shows a working example (layout panels/collapsible panels has a lot of links, check the source):

<ice:outputLink target="_blank" styleClass="navPnlClpsblLnks"
               value="http://icefaces.org/main/home/index.jsp">
    <ice:outputText id="icefacesOrgLink" value="ICEfaces.org"/>
</ice:outputLink>

Upvotes: 2

Related Questions