0

私のJSFプロジェクトには、次のような複数のcommandLinksを持つ静的ナビゲーションツリーがあります。

            <h:commandLink id="navlinksearchperson"
                action="#{bean.someAction}"
                value="#{messages['menu.person']}"
                actionListener="#{styleBean.changeSelection}">
            </h:commandLink>

アクション リスナーは次のようになります。

@RequestScoped
@Named("styleBean")
public class StyleBean {

    public void changeSelection(ActionEvent event) {
        if (event.getComponent() instanceof HtmlCommandLink) {
            ((HtmlCommandLink) event.getComponent()).setStyle("font-weight : bold; color : white");
        }
    }
}

私が達成したいのは、クリックされたリンクを強調表示して、ユーザーが現在表示されているナビゲーションリンク/パスを正確に確認できるようにすることです。イベントは呼び出されますが、スタイルは設定/レンダリングされません。

UIComponent の属性を設定するための適切なフェーズに ActionEvent がありませんか?

更新: アクションは次のようになります。

public String init() {
    if (conversation.isTransient()) {
        conversation.begin();
    } 

    /*
     * Service call for request query
     */

    return "/views/list.xhtml";
}
4

0 に答える 0