只有在第二次单击commandLink / commandButton时才会触发Action事件

时间:2012-12-23 22:01:35

标签: ajax jsf-2 primefaces

在Windows 7.0上使用最新的JRE / JDK和Glassfish 3.1运行Netbeans 7.1.1。

尽管我构建了什么样的应用程序,但出于某种原因,我必须点击任意commandLinkcommandButton两次才能触发事件。

这是如何引起的?如何解决?

以下是出现此问题的视图示例:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:c="http://java.sun.com/jsp/jstl/core">
    <h:head>
        <title>Time Manager - New Employee</title>
    </h:head>
    <h:body>
        <h:form id="form"">
            <p:panel id="panel" header="New Employee">  
                <p:messages id="msgs"/>  
                <h:panelGrid columns="3">  
                    <h:outputLabel for="fname" value="Firstname: *" />  
                    <p:inputText id="fname" value="#{employee.name}" 
                                 required="true" label="FullName">  
                        <f:validateLength minimum="2" maximum="20" />  
                    </p:inputText>  
                    <p:message for="fname" display="icon"/>  

                    <h:outputLabel for="eml" value="Email: *" />  
                    <p:inputText id="eml" value="#{employee.email}" 
                                 label="Email" required="true">  
                        <f:validateLength minimum="9" maximum="100" />  
                        <p:ajax update="msgEml" event="keyup" />  
                    </p:inputText>  
                    <p:message for="eml" id="msgEml" display="icon"/>  
                </h:panelGrid>  

                <p:button id="btn" value="Cancel" update="panel" 
                          type="button" outcome="/index"/>  

                <p:commandButton id="addEmp" value="Save" update="panel"
                                 actionListener="#{employee.saveEmployee}" 
                                 styleClass="ui-priority-primary"/>
            </p:panel>  
        </h:form>  
    </h:body>
</html>

0 个答案:

没有答案