使用p | h:commandXxx带动作的隐式或显式导航

时间:2015-10-04 12:55:38

标签: jsf primefaces

涉及托管bean。

@Named
@ViewScoped
public class Bean implements Serializable {

    public Bean() {}

    private static final long serialVersionUID = 1L;

    public String navigate() {
        System.out.println("navigate() invoked.");
        // This method carries some logic here.
        return "/ContextPath/location/page.xhtml?faces-redirect=true";
    }
}

现在,使用带有action的命令组件应该重定向到所述资源。

<h:form>
    <p:commandButton value="Submit" action="#{bean.navigate}"/>
</h:form>

但是,无论ajax设置为false还是使用其他命令组件<p|h:commandLink>,这都是不真实的。在任何一种情况下都会像往常一样调用action方法,但它不会执行导航。

直接用导航案例结果替换操作方法,例如,

<p:commandButton value="Submit"
                 action="/ContextPath/location/page.xhtml?faces-redirect=true"/>

没有任何区别。

这真的是期待吗?

这是一个非常基本的问题,但我在其他已经提出的问题中找不到至少直接的答案。

使用Mojarra 2.2.12和PrimeFaces 5.2(社区捆绑)。

0 个答案:

没有答案