如何在JSF 1.2中调用多个支持bean方法?

时间:2012-04-05 13:24:06

标签: jsf call javabeans

有没有办法从JSF中的backing bean调用多个方法?

我有这样的事情:

                <h:outputLink value="#{bean.selectedEntry.link}">
                    <h:graphicImage
                        url="/CMS/button.png"
                        alt="button"></h:graphicImage>
            </h:outputLink>

我想在用户点击outputLink时从Bean执行其他一些方法。有可能吗?

P.S我正在使用JSF 1.2

2 个答案:

答案 0 :(得分:1)

将其替换为<h:commandLink>

E.g。

<h:form>
    <h:commandLink action="#{bean.openLink}">
        <h:graphicImage
            url="/CMS/button.png"
            alt="button"></h:graphicImage>
    </h:commandLink>
</h:form>

public void openLink() throws IOException {
    // You can just call any (multiple) Java methods here the usual way.
    // ...

    FacesContext.getCurrentInstance().getExternalContext().redirect(selectedEntry.getLink());
}

答案 1 :(得分:0)

为什么不想从你在bean中调用的方法调用该方法?

如果您正在调用的方法用于其他方案,则重构代码以分离关注点并为每个不同的方案提供入口点。