我有一个带有纯页面到页面导航的导航列表:
<h:link outcome="/admin/products"> Products </h:link>
<h:link outcome="/admin/users"> Users </h:link>
<h:link outcome="/admin/markets"> Markets </h:link>
我第一次打电话给一个页面,一切都很顺利。使用ViewScoped-Beans的目标页面上的内容如下所示:
@ManagedBean
@ViewScoped
public class ProductBean {
private List<Products>products;
private int total = 0;
@PostConstruct
public void init(){
this.products = Products.getAll();
}
public void newProduct(){
this.total++;
}
public Integer getTotal(){
return total;
}
}
products.xhtml
<h:form id="productForm" prependId="false">
<h:commandLink value="Add Product" actionListener="#{bean.newProduct}">
<f:ajax render="productsBox" />
</h:commandLink>
<h:panelGroup id="productsBox">
<h:outputText value="#{bean.total}"/>
</h:panelGroup>
</h:form>
在其中一个页面上触发操作,然后当我点击&#34;产品&#34;再次或使用F5重新加载页面,或者换句话说,在调用ProductBean的init()之前花了很长时间,即使我将所有逻辑分解为像这里这样的最小设置。
这种行为似乎是某种未定义的。有时页面重新加载只是慢一点,然后很慢或页面加载只是挂起。
注意:当我用h:commandLink action =&#34; / admin / products&#34;替换h:link时 一切正常,#34;正常&#34;。但正如我所知,这里不需要commandLink。
我能做什么或出什么问题?
使用jsf 2.2和mojarra 2.2.12和tomcat 8
提前感谢。
答案 0 :(得分:0)
似乎不是我的代码的一般问题。这只发生在firefox中,是由Firebug Add-on引起的。我没有在那里找到任何特定的设置,即使重新添加或重置插件也没有解决问题。但是当萤火虫停用时它会起作用。