2012-08-06 8 views
0

editUser (User) 메서드를 트리거하는 명령 단추 또는 내 Backing Bean에서 editClient (User) 메서드를 트리거하는 명령 단추를 클릭하면 메서드가 더 이상 호출되지 않습니다. 전에는 작동했지만 지금은 아무 것도 호출되지 않습니다. 페이지가 다시로드됩니다.JSF Backing Bean 메서드가 호출되지 않음

무엇이 잘못 될 수 있습니까 ??? 여기

<p:accordionPanel activeIndex="#{userManagement.activeOverviewTab}" id="overview" rendered="#{loginControl.isAllowedForClientUserCreation()}"> 
<p:tab title="#{text.tabClients}" rendered="#{loginControl.isAllowedForUserManagement()}"> 
    <h:form id="clientForm"> 
    <p:dataTable value="#{userManagement.clientUsers}" var="clientUser" paginator="true" rows="5" id="clientTable"> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colClientName}"/></f:facet><h:outputText value="#{clientUser.client.clientName}"/></p:column> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colClientEmail}"/></f:facet><h:outputText value="#{clientUser.client.email}"/></p:column> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colClientJobLayout}"/></f:facet><h:outputText value="#{clientUser.client.reportLayout}"/></p:column> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colUsersLogin}"/></f:facet><h:outputText value="#{clientUser.login}"/></p:column> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colUsersPassword}"/></f:facet><h:outputText value="#{clientUser.password}"/></p:column>    
     <p:column><f:facet name="header"><h:outputText value="#{text.colUsersAction}"/></f:facet> 
      <p:commandLink onclick="clientDlg.show()"> 
       <h:graphicImage name="icons/pencil.png" title="#{text.editClientUser}" /> 
      </p:commandLink> 
       <p:dialog header="#{text.editClientUser}" widgetVar="clientDlg" modal="true" resizable="false" width="350" height="190" showEffect="slide" hideEffect="explode"> 
       <h:form id="customerEditForm"> 
       <p:growl id="clientUserMessages"/> 
       <br/> 
       <p:panelGrid columns="2" columnsClasses="odd, even"> 
        <h:outputLabel value="#{text.colClientName}"/><h:inputText value="#{clientUser.client.clientName}" /> 
        <h:outputLabel value="#{text.colClientEmail}"/><h:inputText value="#{clientUser.client.email}" /> 
        <h:outputLabel value="#{text.colClientJobLayout}"/><h:inputText value="#{clientUser.client.reportLayout}" /> 
        <h:outputLabel value="#{text.colUsersLogin}"/><h:inputText value="#{clientUser.login}" /> 
        <h:outputLabel value="#{text.colUsersPassword}"/><h:inputText value="#{clientUser.password}" /> 
       </p:panelGrid> 
       <br/> 
        <p:commandButton value="#{text.applyButton}" type="button" action="#{userManagement.editClient(clientUser)}" onclick="clientDlg.hide()"/> 
        <p:commandButton value="#{text.abortButton}" type="button" onclick="clientDlg.hide()" />      
       </h:form> 
      </p:dialog> 

     </p:column>    
    </p:dataTable> 
    </h:form> 
</p:tab> 

<p:tab title="#{text.tabPrinter}" rendered="#{loginControl.isAllowedForClientUserCreation()}"> 
    <h:form id="userForm"> 
    <p:dataTable value="#{userManagement.printUsers}" var="printUser" paginator="true" rows="5" id="userTable"> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colUsersUsername}"/></f:facet><h:outputText value="#{printUser.name}"/></p:column> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colUsersLogin}"/></f:facet><h:outputText value="#{printUser.login}"/></p:column> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colUsersPassword}"/></f:facet><h:outputText value="#{printUser.password}"/></p:column> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colsUsersAssignedClient}"/></f:facet><h:outputText value="#{printUser.client.clientName}"/></p:column> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colUsersLocked}"/></f:facet><h:graphicImage name="icons/lock.png" rendered="#{printUser.locked == 1}"/></p:column> 
     <p:column><f:facet name="header"><h:outputText value="#{text.colUsersAction}"/></f:facet> 
      <p:commandLink onclick="dlg.show()"> 
       <h:graphicImage name="icons/pencil.png" title="Drucker bearbeiten" /> 
      </p:commandLink> 
       <p:dialog header="#{text.editPrintUser}" widgetVar="dlg" modal="true" resizable="false" width="350" height="190" showEffect="slide" hideEffect="explode"> 
       <h:form id="printerEditForm"> 
       <p:growl showDetail="true" id="printerMessages" /> 
       <br /> 
        <p:panelGrid columns="2" columnClasses="odd, even"> 
         <h:outputLabel value="#{text.colUsersLogin}"/><h:inputText value="#{printUser.login}" />  
         <h:outputLabel value="#{text.colUsersPassword}"/><h:inputText value="#{printUser.password}" /> 
         <h:outputLabel value="#{text.colsUsersAssignedClient}"/> 
         <h:selectOneMenu value="#{printUser.client}" converter="de.flexicon.webtools.entity.Client"> 
          <f:selectItems value="#{userManagement.clients}" /> 
         </h:selectOneMenu>       
         <h:outputLabel value="#{text.colUsersLocked}"/><h:inputText value="#{printUser.locked}" /> 
         <h:outputLabel value="#{text.colClientEmail}"/><h:inputText value="#{printUser.email}" /> 
        </p:panelGrid> 
        <br /> 
         <p:commandButton value="#{text.applyButton}" type="button" action="#{userManagement.editUser(printUser)}" onclick="dlg.hide()"/> 
         <p:commandButton value="#{text.abortButton}" type="button" onclick="dlg.hide()" /> 
        </h:form> 
       </p:dialog> 

     </p:column> 
    </p:dataTable> 
    </h:form> 
</p:tab> 
</p:accordionPanel> 

그리고 내 백업 콩입니다 :

package de.flexicon.webtools.util; 

import java.io.Serializable; 
import java.util.List; 
import java.util.ResourceBundle;  
import javax.faces.application.FacesMessage; 
import javax.faces.bean.ManagedBean; 
import javax.faces.bean.ViewScoped; 
import javax.faces.context.FacesContext; 
import javax.faces.event.ActionEvent; 
import org.apache.log4j.Logger; 
import de.flexicon.webtools.entity.Client; 
import de.flexicon.webtools.entity.User; 
import de.flexicon.webtools.entity.dao.ClientDAO; 
import de.flexicon.webtools.entity.dao.RoleDAO; 
import de.flexicon.webtools.entity.dao.UserDAO; 
import de.flexicon.webtools.entity.report.constants.UserRole; 

@SuppressWarnings("serial") 
@ManagedBean(name="userManagement") 
@ViewScoped 
public class UserManagement implements Serializable 
{ 

private User newUser; 
private Client selectedClient; 

private List<User> clientUsers; 
private List<User> printUsers; 

private List<Client> clients; 

private int activeOverviewTab = -1; 

public UserManagement(){ 

} 

public User getNewUser() { 
    if(newUser==null){ 
     newUser = new User(); 
    } 
    return newUser; 
} 

public void setNewUser(User newUser) { 
    this.newUser = newUser; 
} 



/** 
* Legt einen neuen Drucker mit Kundenzuordnung an! 
*/ 
    public void createNewTechUser(ActionEvent e){ 

    FacesContext ctx = FacesContext.getCurrentInstance(); 
    ResourceBundle bundle = ctx.getApplication().getResourceBundle(ctx, "text"); 

    try 
    { 
     UserDAO userDAO = new UserDAO(); 
     User user = new User(); 
     user.setEmail(newUser.getEmail()); 
     user.setLocked(0); 
     user.setLogin(newUser.getLogin()); 
     user.setName(newUser.getName()); 
     user.setPassword(newUser.getPassword()); 
     userDAO.persist(user); 

     RoleDAO roleDAO = new RoleDAO(); 
     user.getRoles().add(roleDAO.findById(UserRole.DRUCKER)); 

     user.setClient(selectedClient); 
     userDAO.update(user); 


     ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, bundle.getString("msgNewTechUserCreated"), bundle.getString("msgNewTechUserCreated"))); 
    } 
    catch(Exception ex){ 
     Logger.getRootLogger().error(bundle.getString("logErrorCreatingUser") + ex); 
     ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, bundle.getString("logErrorCreatingUser") + ": " + ex.getMessage(), bundle.getString("logErrorCreatingUser") + ": " + ex.getMessage())); 
    } 
    finally{ 
     setActiveOverviewTab(1); 
    } 
} 

public void createNewClient(ActionEvent e) 
{ 
    FacesContext ctx = FacesContext.getCurrentInstance(); 
    ResourceBundle bundle = ctx.getApplication().getResourceBundle(ctx, "text"); 
    try 
    { 
     UserDAO userDAO = new UserDAO(); 
     User user = new User(); 
     user.setEmail(newUser.getEmail()); 
     user.setLocked(0); 
     user.setLogin(newUser.getLogin()); 
     user.setName(newUser.getName()); 
     user.setPassword(newUser.getPassword()); 
     userDAO.persist(user); 

     RoleDAO roleDAO = new RoleDAO(); 
     user.getRoles().add(roleDAO.findById(UserRole.KUNDE)); 

     ClientDAO clientDAO = new ClientDAO(); 
     Client client = new Client(); 
     client.setClientName(user.getName()); 
     client.setEmail(user.getEmail()); 
     clientDAO.persist(client); 

     user.setClient(client); 
     userDAO.update(user); 


     ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, bundle.getString("msgNewTechUserCreated"), bundle.getString("msgNewTechUserCreated"))); 
    } 
    catch(Exception ex){ 
     Logger.getRootLogger().error(bundle.getString("logErrorCreatingUser") + ex); 
     ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, bundle.getString("logErrorCreatingUser") + ": " + ex.getMessage(), bundle.getString("logErrorCreatingUser") + ": " + ex.getMessage())); 
    } 
    finally{ 
     setActiveOverviewTab(0); 
    } 
} 


public Client getSelectedClient() { 
    return selectedClient; 
} 

public void setSelectedClient(Client selectedClient) { 
    this.selectedClient = selectedClient; 
} 


public List<User> getClientUsers() { 
    if(clientUsers==null){ 

     UserDAO userDAO = new UserDAO(); 
     clientUsers= userDAO.getUsersByRole(UserRole.KUNDE); 
    } 
    return clientUsers; 
} 

public void setClientUsers(List<User> clientsUsers) { 
    this.clientUsers = clientsUsers; 
} 

public void setPrintUsers(List<User> printUsers) { 
    this.printUsers = printUsers; 
} 

public List<User> getPrintUsers() { 
    if(printUsers==null){ 
     UserDAO userDAO = new UserDAO(); 
     printUsers = userDAO.getUsersByRole(UserRole.DRUCKER); 
    } 
    return printUsers; 
} 

public List<Client> getClients() { 
    if(clients==null){ 
     ClientDAO clientDAO = new ClientDAO(); 
     setClients(clientDAO.getClientsOrderedByName()); 
    } 
    return clients; 
} 

public void setClients(List<Client> clients) { 
    this.clients = clients; 
} 

public void editUser(User user){ 
    UserDAO userDAO = new UserDAO(); 
    userDAO.update(user); 
    FacesContext context = FacesContext.getCurrentInstance(); 
    ResourceBundle bundle = context.getApplication().getResourceBundle(context, "text"); 
    context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, bundle.getString("printerUpdated"), bundle.getString("descUpdatedPrintUser"))); 
    setActiveOverviewTab(1); 
} 

public void editClient(User user){ 
    UserDAO userDAO = new UserDAO(); 
    userDAO.update(user); 
    FacesContext context = FacesContext.getCurrentInstance(); 
    ResourceBundle bundle = context.getApplication().getResourceBundle(context, "text"); 
    context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, bundle.getString("printerUpdated"), bundle.getString("descUpdatedPrintUser"))); 
    setActiveOverviewTab(0); 
} 

public void setActiveOverviewTab(int tabIdx){ 
    this.activeOverviewTab = tabIdx; 
} 

public int getActiveOverviewTab(){ 
    return this.activeOverviewTab; 
} 

}

답변