Hallo zusammen,
ich habe untenstehenden Treetable. Die letzte Spalte ist ein Icon, welches in der Bean eine Methode aufrufen soll (Um eine Weiterleitung anzustoßen) dabei soll der Knoten mit übergeben werden, aus welcher Zeile das Icon geklickt wurde.
Leider ist mein selectedCategory immer null. Ich vermute es liegt am Request-Scop kann das sein? Nutze das JSF mit SpringBoot, da gibt es leider keinen ViewScope. Setzte ich testweise auf @Scope(value = “application”) wird der Wert gesetzt. Aber eben im falschen Scope. Hat jemand ne Idee, wie ich in der Bean an den selectedNode komme?
Eine andere Variante wäre noch im “RequestScope”
Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
map.get(“form:categoriesTree:???”) < aber wie finde ich heraus, wie dieser Key heißt? Den kompletten TreeNode bekomme ich in der Bean, aber keinen selectedNode
<p:treeTable id="categoriesTree" rows="20" scrollable="true" value="#{categoriesOverview.treeNode}" var="category">
<p:ajax event="select" actionListener="#{categoriesOverview.goToProducts}" />
<p:column headerText="Kategorien">
<h:outputText value="#{category.categoryName}"/>
</p:column>
<p:column style="width:24px" headerText="(p4)" priority="4">
<p:commandLink value="#{categoriesOverview.selectedCategory}" actionListener="#{categoriesOverview.goToProducts}" title="View Detail" styleClass="ui-icon pi pi-search">
<f:setPropertyActionListener value="#{category}" target="#{categoriesOverview.selectedCategory}"/>
</p:commandLink>
</p:column>
</p:treeTable>
Edit: Meine Bean:
@Component
@Scope(value = "application")
public class CategoriesOverview {
private TreeNode treeNode;
private Category selectedCategory; //Auch Typ TreeNode bleibt null
public void goToProducts(){
//hier brauch ich den selected Node
}
//getter setter
}