Hallo
Mein Problem: Ich klicke auf auf einen Button(1) und speichere die 1 in einem Bean. Direkt nach dem Klick in einem Pop Up sollt edie 1 angezeigt werden, es wird aber nichts angezeigt. Jetzt aktualisiere ich den Browser und klicke auf Button(2), jetzt wird in einem PopUp eine 1 angezeigt, wenn ich das ganze wiederhole dann wird mir die 2 angezeigt. Also es immer nicht das was ich jetzt angeklickt habe sondern was ich davor angeklickt habe.
<p:commandButton value="open" onclick="PF('confD').show();" image="#{recipeList.id}.jpg" action="#{selection.myTest}" >
<f:setPropertyActionListener target="#{selection.myId}" value="#{recipeList.id}" />
</p:commandButton>
@ManagedBean(name = "selection")
@RequestScoped
public class Selection implements Serializable{
private RecipeJpaController jpacontroller;
@PersistenceUnit(unitName = "de.lo_Leckermich_war_1.0-SNAPSHOTPU")
EntityManagerFactory emf;
@Resource //inject from your application server
UserTransaction utx;
private String action;
private static String myId;
/**
* Creates a new instance of Selection
*/
public Selection() {
}
@PostConstruct
public void init() {
jpacontroller = new RecipeJpaController(utx, emf);
}
public String myTest(){
System.out.println("XXX TEST "+ getMyId());
return myId;
}
public String getMyId() {
System.out.println("XXX GET "+myId);
return myId;
}
public void setMyId(String m) {
myId = m;
}
}
Es geht um die Variable
private static String myId;
sie war früher nicht static, ich habe es aus verzweiflung mal probiert. Ebenso alle scopes. Ich habe es einfach noch nicht verstanden wie ich an einer Stelle was speichere und dann an einer anderen Stelle es abrufen kann.