小编nos*_*hoj的帖子

如何使用Primefaces轮询进行重定向?

我正在使用primefaces 5.0开发jsf,如果在后备bean中满足条件,我需要将用户重定向到另一个页面。因此,我习惯于p:poll让页面每秒检查一次条件,如果满足条件,则将用户重定向到另一个页面。

我创建了一个小项目来尝试这种情况,该项目使用poll来检查是否int cnt大于等于10,如果是,则将用户重定向到welcomePrimefaces.xhtml。另外,还有另一个线程T1用于简单地增加线程数,cnt以便该条件可以满足一段时间。

这是我做的事情:
页面:(没什么特别的,只需每秒轮询一次即可查看状态)

<h:form>
    Hello from Facelets
    <br />
    <p:poll interval="1" listener="#{mainBean.checkStatus()}"/>
</h:form>
Run Code Online (Sandbox Code Playgroud)

后备豆:

public class MainBean {

    private Integer cnt = 0;

    @PostConstruct
    public void init() {
        Thread t1 = new Thread(new T1(), "test");
        t1.start();

    }

    public void checkStatus() {
        synchronized (cnt) {
            System.out.println("cnt:" + cnt);
            if (cnt >= 10) {
                try {
                    Object request = FacesContext.getCurrentInstance().getExternalContext().getRequest();
                    Object response = FacesContext.getCurrentInstance().getExternalContext().getResponse();
                    HttpServletRequest httpRequest = (HttpServletRequest) …
Run Code Online (Sandbox Code Playgroud)

jsf redirect polling primefaces jsf-2

1
推荐指数
1
解决办法
1392
查看次数

标签 统计

jsf ×1

jsf-2 ×1

polling ×1

primefaces ×1

redirect ×1