0

JSF での最初のステップを開始しています。

私はすでにこのリンクを読んだ

http://docs.oracle.com/javaee/6/tutorial/doc/bnawq.html#bnaww

マップの初期化に関して。

問題は、ファイルにある値をマップに入力したいということです。

どうやってやるの?

faces-config.xml を使用せず、Bean のコンストラクターでサポート メソッドを呼び出してみましたが、選択リスト ボックスに値が入力されません。

私の豆のクラス:

@ManagedBean
public class ADGroupListBean {

private static final String WITH_ACCESS = "D:\\workspace\\AccessControl\\permissions.txt";
private static final String WITHOUT_ACCESS = "D:\\workspace\\AccessControl\\noPermissions.txt";
private Map<String,String> withAccess, withoutAccess;

private LDAPQueries queries;


public ADGroupListBean(){

    withAccess = new LinkedHashMap<String, String>();
    withoutAccess = new LinkedHashMap<String, String>();

    queries = new LDAPQueries();

    initList(WITH_ACCESS, withAccess);
    initList(WITHOUT_ACCESS, withoutAccess);

}   

private void initList(String filename, Map<String,String> list) {

    File f = new File(filename);

    if ( !f.exists() && f.getAbsolutePath().equals(WITHOUT_ACCESS) )
    {
        queries.queryAllGroups(WITHOUT_ACCESS);
    }

    try 
    {   

        Scanner sc = new Scanner(f);

        while (sc.hasNext())
        {
            String group = sc.nextLine();
            list.put(group, group);
        }

    }catch (IOException e) {

        e.printStackTrace();
    }


}

//  public void populateList() {
//      
//      
//  }

public Map<String,String> getWithAccess() {

    return withAccess;
}

public Map<String,String> getWithoutAccess() {

    return withoutAccess;
}

public void setWithoutAccess(Map<String,String> withoutAccess) {

    this.withoutAccess = withoutAccess;
}

public void setwithAccess(Map<String,String> withAccess) {

    this.withAccess = withAccess;
}

public void test() {

    System.out.println("workssssssssssssssssss");
}
}

私のJSFファイルに関しては、次のようになります。

<!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:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html">
<h:head><title>Your Title Here</title>
</h:head>
<h:body>
<h1>Your Heading Here</h1>

<h:form>
    <h:selectOneMenu value="teste">
         <f:selectItem itemLabel="" itemValue="" />
        <f:selectItems value="#{ADGroupListBean.withoutAccess}" />
</h:selectOneMenu>
</h:form>

</h:body>
</html>

テスト アプリケーションで Bean の機能をテストしましたが、すべて正常に動作します。

私の推測では、Bean はインスタンス化されていませんか?

よろしく、ヌーノ。

4

0 に答える 0