Hallo,
ich versuche gerade mit JSF 1.2 eine Textarea nur einzublenden, wenn in einem SelectOneMenu ein bestimmter Eintrag ausgewählt wurde. Jedoch bekomme ich immer nur eine NullPointerException.
Ich hab raus gefunden, dass er die Textarea-Komponente nicht findet. Weiß einer was zu tun ist?
ValueChangeListener
JSF-Seite:
ich versuche gerade mit JSF 1.2 eine Textarea nur einzublenden, wenn in einem SelectOneMenu ein bestimmter Eintrag ausgewählt wurde. Jedoch bekomme ich immer nur eine NullPointerException.
Ich hab raus gefunden, dass er die Textarea-Komponente nicht findet. Weiß einer was zu tun ist?
ValueChangeListener
Java:
public class ValueChangeListeners implements ValueChangeListener
{
public void processValueChange(ValueChangeEvent event) throws AbortProcessingException
{
HtmlInputTextarea text = null;
String i = event.getNewValue().toString();
List components = event.getComponent().getParent().getChildren();
for(Iterator iter = components.iterator(); iter.hasNext();)
{
UIComponent element = (UIComponent)iter.next();
if(element.getId().equals("begr_rv"))
{
System.out.println("TextArea gefunden!");
text = (HtmlInputTextarea)element;
}
}
text.setRendered(true);
}
}
JSF-Seite:
HTML:
<h:form>
<h:selectOneMenu id="decision" style="vertical-align:middle;" value="#{controller.selectedId}" onchange="submit()">
<f:valueChangeListener type="ValueChangeListeners"></f:valueChangeListener>
<f:selectItems value="#{controller.options}"></f:selectItems> </h:selectOneMenu>
<p>
<h:inputTextarea rendered="false" id="begr_rv" value="#{controller.text}" cols="50" rows="5"></h:inputTextarea>
</p>
</h:form>