내 XHTML 페이지에서 @ManagedBean 클래스의 메소드를 호출하고 있습니다. 방법은 링크를 클릭하지 않고 모든 페이지 새로 고침에서 실행되는 이유페이지 새로 고침, JSF에서 @ManagedBean 클래스에서 자동 메소드 호출을 중단하는 방법
<h:link value="Continue Reading »"
outcome="contracts/resources/data/imag2_facebook.html"
onclick="#{sessionFilter.incForLink2('contracts/resources/imagini/facebook.jpg','Facebook down? Current problems and status', 'contracts/resources/imagini/facebook.jpg')}" />
그것은 이상한 : 나는 방법을 연결되어있는 링크를 클릭하면 메소드는 실행해야합니다. 링크를 클릭 할 때만 메소드가 실행되기를 원합니다. 나는 또한 h : commandLink로 시도했지만 결과는 같습니다. 내가 무엇을 바꾸어야하는지, 또는 무엇이 잘못 되었습니까? @ManagedBean 클래스는 응용 프로그램 범위입니다.
public void incForLink2(String link, String title, String imgAllLink) {
Article article = links.get(link);
if (article != null) {
Integer pageHits = article.getPageHits();
article.setPageHits(pageHits + 1);
System.out.println(link + " = " + pageHits);
} else {
Article article1 = new Article(1, title, link, imgAllLink);
links.put(link, article1);
}
}
복제본을 찾아야하지만, HTML을 렌더링하기 위해 페이지로드시 액션 메소드가 아닌 다른 것으로 EL을 포함 시키면됩니다. onclick은 jsf에서 액션 메소드가 아닙니다 (HTML 컨텍스트에 있음) – Kukeltje
[JSF 페이지 onload가 버튼 클릭을 실행하는] 가능한 복제본] (http://stackoverflow.com/questions/25704443/jsf-page -onload-executed-button-click) – Kukeltje
답장을 보내 주셔서 감사합니다. @Kukeltje, h : commandButton –