JSF - отображение компонента jsf при нажатии на другой компонент - PullRequest
1 голос
/ 24 мая 2010

Я пытаюсь получить кнопку, которая вызывает диалог загрузки. То, как я пытаюсь достичь этого, примерно так:

<h:outputText value="Click Me" id="testit">
  <a4j:support reRender="hideme" event="onclick" action="#{actions.switchTestRendered}"/>
</h:outputText>
<h:outputText id="hideme" value="back" rendered="#{actions.testRendered}"/>

С кодом в бобе поддержки:

private boolean testRendered = false;
public String switchTestRendered(){
 setTestRendered(!isTestRendered());
 System.out.println("Current Status:"+isTestRendered());
 return "success";
}

public void setTestRendered(boolean testRendered) {
  this.testRendered = testRendered;
}

public boolean isTestRendered() {
  return testRendered;
}

Когда я нажимаю метку 'click me', я вижу, что switchTestRendered запущен, но компонент 'hideme' не показывает.

Есть предложения? Спасибо!

Ответы [ 2 ]

1 голос
/ 24 мая 2010

Понял. Я должен был повторно сделать родительский элемент элемента, который я пытаюсь скрыть / показать. Другими словами:

<a4j:support reRender="hideme" event="onclick" action="#{actions.switchTestRendered}"/>

должно быть:

<a4j:support reRender="father_of_hideme" event="onclick" action="#{actions.switchTestRendered}"/>

Спасибо! Бен.

0 голосов
/ 24 мая 2010

Из кода видно, что после «Click me» средство рендеринга «hide» не обновляется. Вы должны выяснить, почему

...