1

私は Java/JSF テクノロジーの初心者であり、Java/JSF の世界で何が起こっているかを理解するために単純な UI を作成しようとしています。

ここで、ManagedBean のメソッドとそのパッケージ名を CommandButton の actionListener にバインドしたいと考えています。

例:

index.xhtml

...
<h:commandButton actionListener="#{com.acme.myclass.MyMethod}" ...
...

MyClass.java

package com.acme;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean
@RequestScoped

public class MyClass {

    public MyClass() {
        // Constructor
    }

    public void MyMethod() {
        // Do some job
    }

}

上記の例のようにメソッドをバインドしようとしましたが、メソッドが呼び出されません。その上、Netbeans の小さなオートコンプリート ウィンドウに自分のパッケージが表示されません。メソッドを#{class.method}形式でバインドすると (インターネット上のすべての例のように)、機能します。

これを達成する方法はありますか?

なぜこれを行う必要があるのですか?

プロジェクトがますます大きくなる一方で、命名クラスはますます難しくなっています。したがって、異なるパッケージで同じクラス名を使用すると、作業が楽になると思います。

4

1 に答える 1