J'ai besoin d'implémenter un ice:commandButton
qui passe une liste à son bean backing. Je ne suis pas dans une portée de portlet, mais dans une portée d'étiquette.Est-ce que f: attribut supporte autre chose que String?
Je sais que lorsque je récupère un f:attribute
de l'actionListener, je reçois un objet qui doit être casté.
Je veux savoir si je peux f: attribut à un List<MyClass>
, où l'instance réelle de la liste est en fait un ArrayList
et MyClass
est sérialisable.
Quelque chose comme:
MyTag.xhtml
<ice:commandButton actionListener="#{TagBean.doPrintItems}">
<f:attribute name="collection" value="#{items}" />
</ice:commandButton>
//[other things]
MyPortlet.jspx
<my:printPopup items="#{BackingBean.itemsToPrint}" />
BackingBean.java
class BackingBean {
private List<MyClass> itemsToPrint;
//getter and setter of course
}
TagBean.java
class TagBean {
private List<MyClass> collection;
//getter and setter of course
public void doPrint(ActionEvent e) {
collection = (List<MyClass>) e.getComponent().getAttributes().get("collection");
}
Pensez-vous que ce soit faisable? Merci
Ça devrait juste marcher. Quel est le problème auquel vous êtes confronté? Ce n'est pas clair d'après la question. – BalusC
Pas encore de problème. J'ai d'autres tâches à accomplir avant d'y aller. ** Si je suis frappé ** avec le bouton et que je trouve que cette façon de faire n'est pas viable, il y a certainement un énorme recul à faire pour moi. Je m'attends à venir dans la chose du bouton lundi prochain –