# <p:accordionPanel <ui:repeat <p:commandButton Action funktioniert teilweise



## mineralwasser (7. Feb 2013)

Hallo,

ich nutze Primefaces 3.4.2.
menueBean ist ViewScoped


Der unten stehende Code erzeugt mehrere Tabs. Darin eine Reihe an CommandButtons.
Jeder CommandButton soll die selbe Action menueBean.jumpTag ausführen. Der übergabeParameter offer12.name ist ein String.
Jedoch führt NUR DER ERSTE gerenderte Button die Action menueBean.jumpTag aus. 
Alle weiteren CommandButtons führen die Action nicht aus.
Wie müsste der Code richtig lauten, dass jeder Button die Action ausführt  ?

<p:accordionPanel var="tag" value="#{menueBean.menueCategories}" id="acpanel">
<p:tab title="#{menueBean.offersByGroup(tag)}" rendered="#{menueBean.filteredOffers.size() > 0}" >
<h:form id="acform">
<ui:repeat value="#{menueBean.filteredOffers}" var ="offer12">
   <hutputText value="#{offer12.name}"/>
          <p:commandButton  value="test" action="#{menueBean.jumpTag(offer12.name)}" process="@this"/>                               


   </ui:repeat>
  </h:form>
</p:tab>
</p:accordionPanel>


Vielen Dank


----------



## sence (7. Feb 2013)

Bitte verwende die Codetags, damit wird das lesen für jeden deiner Helfer angenehmer.

1)


> Der unten stehende Code erzeugt mehrere Tabs. Darin eine Reihe an CommandButtons.


ich sehe nur ein Tab

2)
setzte das Form mal außerhalb des accordionPanels


```
<h:form>
<p:accordionPanel var="tag" value="#{menueBean.menueCategories}" id="acpanel">
// implementierung .... 
</p:accordionPanel>
</h:form>
```

Welche JSF Implementierung / Version?


----------



## mineralwasser (8. Feb 2013)

> setzte das Form mal außerhalb des accordionPanels


Habe ich auch versucht. Brachte leider nichts. 
Ebenso ein <p:column> um den CommandButton (wie oft im Netz angeraten) auch nicht.



> Welche JSF Implementierung / Version?



Mojarra 2.1.6


----------



## sence (8. Feb 2013)

Habe es mir gerade mal nachgebaut, funktioniert ohne probleme 
implementiere dir mal die 2 Sachen und schau im Log nach ob der Output ankommt.
Wenn nein, dann würde ich eine andere Version / Implementierung nehmen.

habe mojarra 2.2.0-m07 und PF 3.4 verwendet

Test

```
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean
@ViewScoped
public class Test {

	private List<String> lst;
	
	public Test() {
		lst = new ArrayList<String>();
		lst.add("Hallo");
		lst.add("Wie");
		lst.add("Geht Es");
	}

	public void tuWas(String s) {
		System.out.println(s);
	}

	public List<String> getLst() {
		return lst;
	}

	public void setLst(List<String> lst) {
		this.lst = lst;
	}
}
```



```
<h:form id="acform">
<p:accordionPanel var="tag" value="#{test.lst}" id="acpanel">
<p:tab title="#{tag}" >

<ui:repeat var="rep" value="#{test.lst}">
<p:commandButton value="test" action="#{test.tuWas(rep)}" process="@this"/>
</ui:repeat>

</p:tab>
</p:accordionPanel>      	
</h:form>
```


----------

