2017-06-20 3 views
0

私はjsfウェブアプリケーションの初心者です。 1つのcommandButtonを持つ1つのjsfページを作成します。 しかし、それはうまくいきません。 私はactionlistenerを与えますが、動作後には動作しませんので、 助けてください?p:commandButtonが動作していない、または呼び出されていない

htmlコード

<p:panelGrid columns="2" id="display" columnClasses="label,value"> 

      <h:outputText value="Mobile Number" /> 
      <p:inputMask id="phoneWithExt" value="#{GenerateOtp.EVD}" mask="(999) 999-9999" maxlength="10"/> 

      <h:outputText value="Mpin" /> 
      <p:inputMask id="mpin" value="#{GenerateOtp.MPin}" mask="9-9-9-9" maxlength="4"/> 

      <h:outputText value="Imei Number" /> 
      <p:inputText id="imei" alt="Imei Number" value="#{GenerateOtp.IMEI}"/> 

      <h:outputText value="User Agent" /> 
      <p:inputText id="useragent" alt="User Agent" value="#{GenerateOtp.useragent}"/> 

     </p:panelGrid> 

     <p:commandButton id="call" type="button" value="Call" 
         actionListener="#{GenerateOtp.buttonAction(actionEvent)}" 
         process="@this" 
         icon="ui-icon-check" /> 

管理Bean:

@ManagedBean(name = "GenerateOtp") 
@ViewScoped 
public class GenerateOtp extends MasterRequest { 

@SerializedName("EVD") 
@Expose 
private String eVD; 
@SerializedName("mPin") 
@Expose 
private String mPin; 

public String getEVD() { 
    return eVD; 
} 

public void setEVD(String eVD) { 
    this.eVD = eVD; 
} 

public String getMPin() { 
    return mPin; 
} 

public void setMPin(String mPin) { 
    this.mPin = mPin; 
} 

public void callOtp() { 
    System.out.println("evd" + getEVD()); 
} 

public void buttonAction(ActionEvent actionEvent) { 
    addMessage("evd" + getEVD()); 
} 

public void addMessage(String summary) { 
    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, null); 
    FacesContext.getCurrentInstance().addMessage(null, message); 
} 

} 
+0

フォームはどこですか? – BrunoDM

+2

[commandButton/commandLink/ajaxアクション/リスナーメソッドが呼び出されていないか、入力値が更新されていない可能性があります]の重複している可能性があります(https://stackoverflow.com/questions/2118656/commandbutton-commandlink-ajax-action-listener-method-not-invoked -or-input-value) – Kukeltje

答えて

1

のactionListenerは、タイプ= "ボタン" のcommandButtonには機能しません。したがって、type = "button"を削除する必要があります。

必要なタイプは「送信」ですが、デフォルトのタイプであるため、宣言する必要はありません。

<p:commandButton id="call" value="Call" 
    actionListener="# GenerateOtp.buttonAction(actionEvent)}" 
    process="@this" icon="ui-icon-check" /> 

あなたはこのようにそれを変更した場合、ボタンは機能しますが、あなたのコードの残りの部分が正しい場合(BrunoDMを使用すると、1つのボタンがまだ動作しません持っていない場合は、フォームを必要と言ったようにEQ )

+3

この情報は、私が参照した複製物にすべて含まれています。だから、それに印を付けてください。これは、断片化とたくさんの同様のQ/AのStackoverflowで防止します。私はこれ(残念なことに)あなたに 'repuation'ポイントを与えることはありません知っているが、それはStackoverflowで '良い練習'です。ありがとう – Kukeltje

+0

ああ申し訳ありませんあなたの重複スレッドを見ていない。私は間違いを見て、助けたかった。私は今質問にフラグを立てました。正直言って私は評判を気にしない、私はちょうど人々を助けたい:) – lastresort

+0

非常にスポーツマンシップとそれを取るためのクールな感謝。私にも同じことが当てはまります。乾杯!しかし、「閉じる」ボタンを選択してから「複製」を選択する必要があります。私の(自動的に生成された)コメントだけでアップウィートしても十分ではありません。 – Kukeltje

関連する問題