問題は、DB から以前の値を取得して上書きした後に新しい値を取得することです。新しい値を Bean の「変数」に保存し、DB からの値をこのコンポーネントに表示したいのですが、「Usuario. nombre"、DB からの値が表示されません。"datos.nombres" を入力すると、DB からの値が表示されます。助けてください
ここに私のxhtmlファイルがあります
<p:dataTable style="width:450px" value="#{DAOUsuario.Listar()}" var="datos">
<p:column headerText="Datos Personales" style="background:#19708F ; color: white">
<p:outputLabel value="Nombre"/>
<h:inputText value="#{datos.nombre}"/>
<br/>
<p:outputLabel value="Clave" />
<h:inputText value="#{datos.clave}"/>
<br/>
<h:commandButton value="Modificar" action="#{DAOUsuario.Modificar()}">
</h:commandButton>
</p:column>
</p:dataTable>
</h:form>
</body>
これがDBに接続するためのメソッドを持つ私のクラスです
public void Modificar() throws Exception {
FacesContext context = FacesContext.getCurrentInstance();
Usuario us = (Usuario) context.getApplication().evaluateExpressionGet(context, "#{Usuario}", Usuario.class);
String sql = "UPDATE usuario SET nombre = '" + us.getNombre() + "', clave = '" + us.getClave() + "' "
+ "WHERE codigousuario = 2";
try {
this.Insert(sql);
} catch (Exception ex) {
throw ex;
}
}
これが私のBean Usuarioです。
public class Usuario {
private int codigo;
private String nombre;
private String clave;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getClave() {
return clave;
}
public void setClave(String clave) {
this.clave = clave;
}
}