У меня возникли некоторые проблемы с Primefaces р: компонент кэшаPrimefaces р: кэш
Это пример того, как его использовали на testpage/index.xhtml
<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>
и это задняя часть боба
@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;
}
}
Итак, на первой странице нажмите init
и isRenderedButton
сообщение напечатано нормально, как ожидалось. После этого, когда я нажимаю кнопку, я ожидаю увидеть сообщение hello
, но это не случай. Может ли кто-нибудь указать мне в правильном направлении?
Согласно Primefaces showcase for p:cache с кнопками, я ожидал такого поведения.
Прямо сейчас я использую Primefaces.DEFAULT_CHACHE_PROVIDER, а позже я переключусь на ehcache.
Я использую PF 5.3, солнцезащитные очки 2.2.12.
Спасибо.
Вы нашли решение – mismanc
@mismanc no. У меня есть планы (через одну или две недели) снова работать над этой проблемой и, может быть, не найти ответы. Мне кажется, что этот компонент можно использовать только в том случае, если у вас есть какое-то «статическое» содержимое на странице, что-то вроде боковой панели или меню навигации, которые используются для навигации по ссылкам. Не уверен. Не стесняйтесь комментировать/отправлять ответ, если найдете что-то полезное. – jNick
, если вам не нужно использовать 'p: commandButton', вы можете попробовать' h: commandButton' с ** omnifaces ** компонентом кеша, который, скорее всего, будет работать. Я должен использовать арифметический штрих-код, поэтому это не вариант для меня – mismanc