Código PHP:
<h:form>
<p:panel>
<h:dataTable id="Comentarios1" value="#{sesionbeans.getListaComentarios(sesionbeans.mensaje1.idMensaje)}" var="comentarioactual">
<h:column>
<h:outputText value="#{comentarioactual.comentario}" />
</h:column>
</h:dataTable>
</p:panel>
<div class="capa_comentar">
<p:inplace id="inplacecomentario1" >
<h:outputText value="Escriba su comentario"/><br/>
<h:inputTextarea id="comentario1" value="" cols="90" required="true" />
<h:commandButton id="Button_comentarioMensaje1" value="enviar" actionListener="#{sesionbeans.crearComentario}" >
<f:attribute name="idmensaje" value="#{sesionbeans.mensaje1.idMensaje}"/>
<f:ajax render="Comentarios1" />
</h:commandButton>
</p:inplace>
</div>
</h:form>
-primero pense que al insertar texto en el inputextarea este se sincronizaría con un atributo en el session beans:
Código PHP:
<h:commandButton id="Button_comentarioMensaje1" value="#{sesionbeans.comentario}"
e intentado con action , action listener, y tratando de recuperar el valor del campo de texto de muchas formas pero nada me funciona.
He leido mucho y lo ultimo que hize fueron estos metodos en el sesion beans para llamar con el actionlistener, pero tampoco me funcionaron:
Código PHP:
private String getExtraer(UIComponent component,String parametro) {
Map<String, Object> attrs = component.getAttributes();
return (String) attrs.get(parametro);
}
private String getExtraerComentario(UIComponent component) {
UIComponent num1Component = component.getParent().findComponent("comentario1");
Object num1Value = ((EditableValueHolder)num1Component).getValue();
return String.valueOf(num1Value);
}
public void crearComentario(ActionEvent event){
FacesContext context = FacesContext.getCurrentInstance();
UIComponent component=event.getComponent();
String idMensaje=this.getExtraer(component, "idmensaje");
String comentario=this.getExtraerComentario(component);
//...por aca hago un entity bean y guardo etc...
agradexco sus recomendaciones...