Когда я открываю страницу jsf, catalog bean
создается два раза. Так почему же это происходит? jsf-страница:
<h:dataTable value="#{catalog.products}" var="p">
<h:column>
<h:form>
<h:commandLink action="detail?faces-redirect=true"
value="#{p.brand} #{p.model}">
<f:setPropertyActionListener value="#{p}"
target="#{ph.currentProduct}" />
</h:commandLink>
</h:form>
</h:column>
</h:dataTable>
фасоль:
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped;
import javax.faces.component.html.HtmlDataTable;
import javax.inject.Inject;
import javax.inject.Named;
import dataLayer.Dao;
@Named
@RequestScoped
public class Catalog implements Serializable {
@Inject
private Dao dao;
private List<Product> products;
HtmlDataTable dataTable;
public Catalog() {
}
@PostConstruct
private void init() {
System.out.println("catalog bean created");
dataTable = new HtmlDataTable();
products = dao.getShavers();
}
...
HtmlDataTable
собственности там нет. Избавиться от этого.<h:commandLink>
тоже странный. Я ожидал увидеть там<h:link>
. Это, возможно, полезно в качестве рекомендаций для такого подхода master-detail: stackoverflow.com/q/8459903 Что касается конкретной проблемы , просто поставьте точку останова в методеinit()
и проверьте стек вызовов, кто/что/почему его вызвал. - person BalusC   schedule 06.03.2016HtmlDataTable
предназначено для целей нумерации страниц, поэтому, если вы имеете в виду, что тысяча из этой HtmlDataTable, тогда мне нужно найти другой подход к нумерации страниц. - person rozerro   schedule 06.03.2016commandLink's
. С любой страницы, где было отcommandLink
доcatalog.xhtml
, bean-компонент каталога создавался дважды, поэтому замена наh:link
решила проблему. Но как на самом деле проблема связана с поведениемcommandLink
? . - person rozerro   schedule 07.03.2016?faces-redirect=true
сcommandLink's
в основном для правильногоurl's
в браузере, поэтому, если не использовать перенаправления, ссылки останутся старыми, так как в этом случае сохранить правильные ссылки при использовании commanLinks без перенаправления? - person rozerro   schedule 07.03.2016