1

af:selectOneChoiceコンポーネントには、フルネームが表示された従業員のリストがあり、うまく機能します。af:selectOneChoiceコンポーネントが従業員の省略名のフルネーム、つまりファーストネームの最初の文字とフルラストネームの代わりに出力するようにするにはどうすればよいですか? そして、Employees エンティティを変更せずに行う必要があります。良い解決策は、employeesPageDef ページ定義に対して行われた場合です。おそらく、これは タグを付けましたが、作業方法がわからず、見つけられなかったドキュメントを満たすことができませんでした。教えてください: どうすればこの問題を解決できますか? ページ定義のタグ。

ページ定義(ADFバインディング)でAttrViewExprsタグを使用する例を提供してください。

4

2 に答える 2

0

を使用してMapを設定できますf:selectItems

マネージド Bean で次のようにします。

public class Bean
{
    private Map<String, Employee> employees;

    public Map<String, Employee> getEmployees()
    {
        if (employees == null)
        {
            initMap();
        }
        return employees;
    }

    private void initMap()
    {
        //get list of employees and put in map
        employees = new HashMap<String, Employee>;
        for (Employee e : someClass.getAllEmployees())
        {
            String name = e.getFirstName().subString(0,1);
            name += ". ";
            name += e.getLastName(); 
            employees.put(name, e);
        }
    }
}

次に、JSF ページで以下を使用できます。

<f:selectItems value="#{bean.employees}" />
于 2012-10-19T13:55:14.843 に答える
0

Duncan Mills 氏によると: これを行うために JSTL 部分文字列式を使用しないのはなぜですか? 例えば

 <af:outputText value="#{fn:substring(row.bindings.FirstName.inputValue,0,1)}"/>

テーブル内では、各従業員の名前の最初の文字が出力されます。

プロジェクトに JSTL 関数 taglib を含め、これを

jsp:root definition:
    xmlns:fn="http://java.sun.com/jsp/jstl/functions

"

于 2012-10-23T17:53:56.337 に答える