hej, probuje przerobic do icefaces2 bardzo prosta rzecz:
mianowicie - mam zwykla tabelke z uzytkownikami, w niej tez przyciski jakies typu "show details". to jest dostepne dla niezalogowanego uzytkownika. jak sie zaloguje, to wlasnie ma przycisk typu "remove" jeszcze dodatkowo. Wszystko fajnie, ale jak sie zaloguje i klikne na "remove" to on jakby traci info o tym ze jestem zalogowana, i opcja "remove" sie chowa. mniej wiecej to wyglada tak:
stad mam uzytkownikow:
@ManagedBean(name="usersList")
@ViewScoped
public class UsersList implements Serializable{
private ArrayList<UserBean> usersBeanList;
public ArrayList<UserBean> getUsersBeanList(){
//odpowiedni kod
}
}
autoryzacja:
@ManagedBean(name="auth")
public class Authorization implements Serializable{
private boolean logged;
private boolean authFails = true;
public String login() {
String result = "auth-false";
//odpowiedni kod, jak sie zalogoujesz to ustawiane sa:
logged = true;
result = "auth-true";
authFails = false;
return result;
}
}
no i faces-config:
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>users</from-outcome>
<to-view-id>/users.xhtml</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/users.jsf</from-view-id>
<navigation-case>
<from-action>#{usersList.login}</from-action>
<from-outcome>login</from-outcome>
<to-view-id>/login.jsf</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-action>#{auth.login}</from-action>
<from-outcome>auth-true</from-outcome>
<to-view-id>/users.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-action>#{auth.login}</from-action>
<from-outcome>auth-false</from-outcome>
<to-view-id>/login.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
no i jak przychodzi auth-true to przechodzi mi znow do users.xhtml, tylko ze teraz mam wiecej opcji, ale wlasnie jak tam cos klikne to on traci info ze jest zalogowany i te opcje znikaja. users.xhtml:
<ice:form>
<div align="left">
<h:panelGrid columns="2" cellpadding="0" cellspacing="0">
<f:facet name="header">
<ice:outputText value="Logging:" rendered="#{auth.logged==false}"/>
</f:facet>
<ice:commandButton id="login" value="login" action="#{usersList.login}" rendered="#{auth.logged==false}"/>
<ice:commandButton id="logout" value="logout" action="#{auth.logout}" rendered="#{auth.logged==true}"/>
</h:panelGrid>
</div>
<br/>
<ice:dataTable cellpadding="0" cellspacing="0" border="1"
rendered="#{usersList.usersBeanListSize != 0}"
value="#{usersList.usersBeanList}"
columnClasses="columnsColumn"
var="item"
rows="#{usersList.usersBeanListSize}">
<ice:column style="width:130px; height:15px;" >
<f:facet name="header" >
<ice:outputText value="User" />
</f:facet>
<ice:outputText value="#{item.name}"
rendered="#{item.edit==false}"/>
<br/>
<ice:outputText value="#{item.surname} "
style="width:120px; height:15px;"
rendered="#{item.showAdditionalInfo==true
and item.edit==false}"/>
<ice:outputText value="#{item.email} "
style="width:120px; height:15px;"
rendered="#{item.showAdditionalInfo==true
and item.edit==false}"/>
</ice:column>
<ice:column style="width:220px; height:15px;">
<f:facet name="header">
<ice:outputText value="Additional info"/>
</f:facet>
<div align="center">
<ice:commandButton id="show_info" value="show info"
action="#{item.setShowAdditionalInfo}"
rendered="#{item.showAdditionalInfo==false}"/>
<ice:commandButton id="hide_info" value="hide info"
action="#{item.unsetShowAdditionalInfo}"
rendered="#{item.showAdditionalInfo==true}"/>
</div>
</ice:column>
<ice:column style="width:220px; height:15px;" rendered="#{auth.logged==true}">
<f:facet name="header">
<ice:outputText value="Actions"/>
</f:facet>
<div align="center">
<ice:commandButton id="remove_user" value="remove" actionListener="#{usersList.removeUser}">
<f:attribute name="userBean" value="#{item}"/>
</ice:commandButton>
</div>
</ice:column>
</ice:dataTable>
</ice:form>
totalnie nie wiem co z tym.. pewnie problem jest jakis banalny, czegos nie ustawiam albo cos. czy ktos z Was moze ma jakis pomysl?
pzdr,
misty