Jsf p:primefaces上的commandbutton不能单击两次

Jsf p:primefaces上的commandbutton不能单击两次,jsf,primefaces,commandbutton,Jsf,Primefaces,Commandbutton,您好,我正在测试primefaces官方网站上给出的示例,我注意到我的工作不好,因为一旦我单击它来更新值,它将保持高亮显示,并且无法再次单击来更新值。以下是xhtml文件: <?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-transitiona

您好,我正在测试primefaces官方网站上给出的示例,我注意到我的
工作不好,因为一旦我单击它来更新值,它将保持高亮显示,并且无法再次单击来更新值。以下是xhtml文件:

<?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:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script>

<h:head>

    </h:head>
    <h:form>
    <h:panelGrid columns="2" cellpadding="5" styleClass="ui-grid">
        <h:outputLabel for="basic" value="Basic Spinner: " />
        <p:spinner id="basic" value="#{spinnerView.number1}" />

        <h:outputLabel for="step" value="Step Factor: " />
        <p:spinner id="step" value="#{spinnerView.number2}"       stepFactor="0.25" />

        <h:outputLabel for="minMax" value="Min/Max: " />
        <p:spinner id="minMax" value="#{spinnerView.number3}" min="0" max="100" />

        <h:outputLabel for="prefix" value="Prefix: " />
        <p:spinner id="prefix" value="#{spinnerView.number4}" prefix="$" min="0" />

        <h:outputLabel for="ajaxSpinner" value="Ajax Spinner: " />
        <p:outputPanel>
            <p:spinner id="ajaxSpinner" value="#{spinnerView.number5}">
                <p:ajax update="ajaxSpinnerValue" process="@this" />
            </p:spinner>
            <h:outputText id="ajaxSpinnerValue" value="#{spinnerView.number5}" style="padding-left: 10px" />
        </p:outputPanel>
    </h:panelGrid>

    <p:commandButton value="Submit" update="display"  oncomplete="PF('dlg').show()" />

    <p:dialog header="Values" widgetVar="dlg" showEffect="fold" hideEffect="fold">
        <h:panelGrid id="display" columns="2" cellpadding="5">
            <h:outputText value="Value 1: " />
            <h:outputText value="#{spinnerView.number1}" />

            <h:outputText value="Value 2: " />
            <h:outputText value="#{spinnerView.number2}" />

            <h:outputText value="Value 3: " />
            <h:outputText value="#{spinnerView.number3}" />

            <h:outputText value="Value 4: " />
            <h:outputText value="#{spinnerView.number4}" />

            <h:outputText value="Value 5: " />
            <h:outputText value="#{spinnerView.number5}" />
        </h:panelGrid>
    </p:dialog>
</h:form>
</html> 

我觉得这很奇怪,那么有没有人对此问题有任何解决方案,或者这是web或pom.xml文件之类的其他问题的原因?如果有,我如何解决这个问题?

您尝试过ajax双击evet吗?!?你可以试着把它做成一个p:commandLink,然后把它做成一个你需要h:body的纽扣
package uk.soton.lostatnight;


import javax.faces.bean.ManagedBean;

@ManagedBean
public class SpinnerView {

private int number1;   
private double number2;  
private int number3;   
private int number4; 
private int number5;

public int getNumber1() {
    return number1;
}

public void setNumber1(int number1) {
    this.number1 = number1;
}

public double getNumber2() {
    return number2;
}

public void setNumber2(double number2) {
    this.number2 = number2;
}

public int getNumber3() {
    return number3;
}

public void setNumber3(int number3) {
    this.number3 = number3;
}

public int getNumber4() {
    return number4;
}

public void setNumber4(int number4) {
    this.number4 = number4;
}

public int getNumber5() {
    return number5;
}

public void setNumber5(int number5) {
    this.number5 = number5;
}
}