2017-07-29 5 views
0

まず、JSFとWeb開発の新機能です。JSF出力ラベルのクリックイベント

私がしたいのは、ユーザーが出力ラベルをクリックすると、コンソールにメッセージを印刷することです。

{businessBean.select()}は、ページの更新時にのみ呼び出され、クリックすると取得されません。

<h:outputLabel styleClass="cat" id ="businesstasks" onclick="setColor('businesstasks'); #{businessBean.select()}"> 
 
       Business and productivity      
 
      </h:outputLabel>

私のテスト豆:

@ManagedBean(name="businessBean") 
@SessionScoped 
public class businessBean { 
    public void select(){ 
     System.out.print("Test"); 
    } 
} 

私はページを更新するが、私はすべてのクリックでそれを取得したい場合にのみ、 "テスト" を取得します。

ありがとうございます!

答えて

0

アクションを実行するためにoutputLabelが必要な理由はありますか? onclickはそれをjavascriptとして実行するので、Beanアクションメソッドを呼び出すと、この相互作用によって問題が発生する可能性があります。出力ラベルに<h:commandLink action="#{businessBean.select}" />を使用できます。

+0

あなたはonclick属性自体がjavascriptとして実行されることを意味すると思います。 Beanメソッドを実行することはできません(少なくともこのような式言語は使用しません)。このxhtmlのこのようなELメソッド呼び出しは、最初のページの読み込み時に実行されます。結果が結果のHTMLに出力されるように、メソッドが文字列を返すときによく使用されます。 – kingdc

関連する問題