2011-10-07 4 views
0

J'essaie de rendre la sortie d'une URL dans la même page, en utilisant JSF/Ajax (a4j) et jusqu'à présent je n'ai pas de chance. BTW, j'utilise RichFaces 4.0. Par exemple, si l'utilisateur clique sur une ligne dans une table (ou simplement sur un bouton), j'aime afficher une page Web juste en dessous de la table, qui est pertinente pour la ligne cliquée. Existe-t-il un moyen d'obtenir l'URL appropriée à l'aide d'un Backing Bean et d'invoquer cette URL à l'aide de balises A4J? J'ai cherché de telles étiquettes ou code d'échantillon et jusqu'ici je n'ai pas pu trouver.JSF AJax - Comment rendre la sortie d'une URL

Merci pour votre aide.

Répondre

0

L'intégration du résultat d'une URL externe dans votre page Web ne peut être faite qu'à l'aide d'un élément HTML .

Donc, cela devrait faire:

<h:form> 
    <h:dataTable value="#{bean.websites}" var="website"> 
     <h:column>#{website.name}</h:column> 
     <h:column> 
      <h:commandButton value="show" action="#{bean.setWebsite(website)}"> 
       <f:ajax render=":website" /> 
      </h:commandButton> 
     </h:column> 
    </h:dataTable> 
</h:form> 
<h:panelGroup id="website"> 
    <iframe src="#{bean.website.url}"></iframe> 
</h:panelGroup> 

avec

@ManagedBean 
@ViewScoped 
public class Bean { 

    private List<Website> websites; // +getter 
    private Website website; // +getter+setter 

    // ... 
}