首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Primefaces :cache

Primefaces :cache
EN

Stack Overflow用户
提问于 2016-03-15 09:30:19
回答 1查看 1.8K关注 0票数 0

我对Primefaces :cache组件有一些问题

这是如何在testpage/index.xhtml上使用它的示例

代码语言:javascript
复制
<h:form>
<p:panel header="Testsite">
    <p:cache region="testsite2"
        key="testsite2#{user.id}#{user.defaultLanguage}">
        <p:commandButton action="#{testBean.hello}" value="btn" 
             rendered="#{testBean.renderedButton}">                 
        </p:commandButton>
    </p:cache>
</p:panel>
</h:form>

这是后端bean

代码语言:javascript
复制
@ManagedBean(name = "testBean")
@ViewScoped
public class TestBean {
    @PostConstruct
    public void init() {
        System.out.println("init");
    }
    public void hello() {
        System.out.println("hello");
    }  
    public boolean isRenderedButton() {
        System.out.println("isRenderedButton");
        return true;
    }
}

因此,在第一页命中initisRenderedButton消息是正常打印的预期。在此之后,当我单击按钮时,我确实希望看到hello消息被打印出来,但这里不是这样的。有人能指出我的正确方向吗?

根据带有按钮的Primefaces展示p:cache的说法,我期待着这种行为。

现在我正在使用提供者,稍后我将切换到ehcache。

我用的是PF 5.3,太阳面对2.2.12。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-10 15:17:16

为了回答我自己(可能对别人有帮助),我试图从数据库中创建动态菜单,我想用p:cache组件来缓存生成的内容。但回到那时,每个菜单项都会调用bean方法,该方法将用户重定向到页面,这首先是一个问题。所以我有过这样的事情:

代码语言:javascript
复制
<p:menu>
  <p:submenu label="Human resource">
     <p:menuitem value="Search person" actionListener="#{bean.navigateUserToSearchPerson}"/>
  </p:submenu>

实际上,我没有解决这个问题(没有额外的时间调查问题),所以我想出了为每个菜单项生成链接的想法,所以当用户单击菜单项时,它会将他重定向到新页面。所以现在我在菜单中没有任何AJAX调用,缓存现在可以正常工作了。代码示例:

代码语言:javascript
复制
<p:cache region="appUiCache" key="panelMenu#{user.id}#{user.defaultLanguage}">
  <p:panelMenu id="sm" model="#{bean.menuModel}" stateful="true" />
</p:cache>

菜单项是从数据库动态创建的:

代码语言:javascript
复制
DefaultMenuItem defaultMenuItem = new DefaultMenuItem(...);
defaultMenuItem.setIcon(item.getIcon());
defaultMenuItem.setUrl(item.getUrl()); <!-- This is new url part -->

这在生产中很好。谢谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36007272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档