2
  • ul-list 内に ui:repeat を追加して、順序付けされていないリストを作成しました
  • jQuery Tag-It ウィジェットを使用すると、リストを適切に編集できます (残念ながら、 primefacesにはまだ同様のコンポーネントがありません)。
  • フォームを保存するとき、新しく作成された値にアクセスできません(他のprimefacesコンポーネントの値のみ)

XHTML

<ul id="keywordList">
<ui:repeat value="#{bean.selectedObject.keywords}" var="keyword">
    <li><h:outputText value="#{keyword.name}" /></li>
    </ui:repeat>
</ul>

public class Bean implements Serializable {
    private MyObject selectedObject;
}

モデル

public List<String> getKeywords() {
    return keywords;
} 

public void setKeywords(List<String> keywords) {
    this.keywords = keywords;
}

UL-List に追加された値にどのようにアクセスできますか? ありがとう!

EDIT:Beanはセッションスコープです

4

1 に答える 1

1

そのドキュメントデモによると、jQuery tag-it プラグインは、(構成可能な) 名前 syntax で非表示の入力要素を自動作成しますitem[tags][]ExternalContext#getRequestParameterValuesMap()次のように、JSF でHTTP リクエスト パラメータ値マップから取得できるはずです。

String[] tags = FacesContext.getCurrentInstance().getExternalContext()
    .getRequestParameterValuesMap().get("item[tags][]");

管理プロパティとして設定することもできますが、これには Bean がリクエスト スコープである必要があります。

@ManagedProperty("#{paramValues['item[tags][]']}")
private String[] tags;
于 2012-06-06T17:41:13.240 に答える