很抱歉因为我的问题再次打扰你们,这次我想用一个查询更新我的表单内容我的一个我的豆...我的查询它应该是根据的值来制作“beanInscripcion.alumno.curp”(注意“alumno”它是我制作的一个bean,并在我的bean“beanInscripcion”中实现它),它应该这样做的方法(查询)是“beanInscripcion.buscarAlumno”,它也是使用结果集更新“alumno”的值。我已经尝试了一段时间,但它只是不工作,它甚至没有进入我调试时的方法。我很绝望,希望有人知道我做错了什么。这是代码:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="./template.xhtml">
<ui:define name="top">
<h1>Módulo de Inscripción</h1>
</ui:define>
<ui:define name="body">
<h:form id="form_datos">
<h3>Introduce tu Curp para terminar de llenar tus datos</h3>
<h:outputLabel value="CURP" styleClass="requiredLbl"/>
<h:inputText id="CURP" label="CURP"
value="#{beanInscripcion.alumno.curp}"
size="30"
required="true"/>
<p:commandButton id="boton_buscar"
label="CURP"
value="Buscar Datos"
actionListener="#{beanInscripcion.buscarDatosAlumno}"
update=":form_datos"/>
<h:panelGrid columns="2">
<p:tabView style="height: 420px">
<p:tab id="datosPersonales" title="Datos Personales">
<h:panelGrid columns="2">
<h:outputLabel value="Matricula" styleClass="requiredLbl" />
<h:outputLabel value="#{beanInscripcion.alumno.matricula}" styleClass="optionalLbl"/>
<h:outputLabel value="Nombre(s)" styleClass="requiredLbl"/>
<h:inputText id="nombres" label="Nombre"
value="#{beanInscripcion.alumno.nombre}"
size="30"
required="true"/>
<h:outputLabel value="Primer Apellido" styleClass="requiredLbl"/>
<h:inputText id="PrimerApellido" label="PrmerApellido"
value="#{beanInscripcion.alumno.primer_apellido}"
size="30"
required="true"/>
<h:outputLabel value="Segundo Apellido" styleClass="optionalLbl"/>
<h:inputText id="SegundoApellido" label="SegundoApellido"
value="#{beanInscripcion.alumno.segundo_apellido}"
size="30"
required="true"/>
<h:outputLabel value="Fecha de Nacimiento" styleClass="requiredLbl"/>
<p:calendar value="#{beanInscripcion.alumno.fecha_nac}"
id="Fecha_nacimiento"
navigator="true"
pattern="yyyy-mm-dd">
</p:calendar>
<h:outputLabel value="Sexo" styleClass="requiredLbl"/>
<p:selectOneMenu id="Sexo" value="#{beanInscripcion.alumno.sexo}">
<f:selectItem itemLabel="Hombre" itemValue="h" />
<f:selectItem itemLabel="Mujer" itemValue="f" />
</p:selectOneMenu>
<h:outputLabel value="Estado Civil" styleClass="requiredLbl"/>
<p:selectOneMenu id="Estado_civil" value="#{beanInscripcion.alumno.edo_civil}">
<f:selectItem itemLabel="Soltero" itemValue="s" />
<f:selectItem itemLabel="Casado" itemValue="c" />
<f:selectItem itemLabel="Divorciado" itemValue="d" />
<f:selectItem itemLabel="Viudo" itemValue="v" />
</p:selectOneMenu>
<h:outputLabel value="Pais de Nacimiento" styleClass="requiredLbl"/>
<h:inputText id="Pais_nacimiento" label="Pais_nacimiento"
value="#{beanInscripcion.alumno.pais_nacimiento}"
size="30"
required="true"/>
<h:outputLabel value="Nacionalidad" styleClass="requiredLbl"/>
<h:inputText id="Nacionalidad" label="Nacionalidad"
value="#{beanInscripcion.alumno.nacionalidad}"
size="30"
required="true"/>
<h:outputLabel value="Escuela de Procedencia" styleClass="requiredLbl"/>
<h:inputText id="Escuela_procedencia" label="Escuela_procedencia"
value="#{beanInscripcion.alumno.escuela_procedencia}"
size="30"
required="true"/>
</h:panelGrid>
</p:tab>
<p:tab title="Dirección y Contacto">
<h:panelGrid columns="2">
<h:outputLabel value="Email" styleClass="requiredLbl"/>
<h:inputText id="Email" label="Email"
value="#{beanInscripcion.alumno.email}"
size="30"
required="true"/>
<h:outputLabel value="Facebook" styleClass="optionalLbl"/>
<h:inputText id="Facebook" label="Facebook"
value="#{beanInscripcion.alumno.facebook}"
size="30"
required="true"/>
<h:outputLabel value="Twitter" styleClass="optionalLbl"/>
<h:inputText id="Twitter" label="Twitter"
value="#{beanInscripcion.alumno.twitter}"
size="30"
required="true"/>
<h:outputLabel value="Telefono" styleClass="optionalLbl"/>
<h:inputText id="Telefono" label="Telefono"
value="#{beanInscripcion.alumno.telefono}"
size="30"
required="true"/>
<h:outputLabel value="Celular" styleClass="optionalLbl"/>
<h:inputText id="Celular" label="Celular"
value="#{beanInscripcion.alumno.celular}"
size="30"
required="true"/>
<h:outputLabel value="Calle" styleClass="requiredLbl"/>
<h:inputText id="Calle" label="Calle"
value="#{beanInscripcion.alumno.calle}"
size="30"
required="true"/>
<h:outputLabel value="Numero Interior" styleClass="optionalLbl"/>
<h:inputText id="Numero_interior" label="Numero_interior"
value="#{beanInscripcion.alumno.num_interior}"
size="30"
required="true"/>
<h:outputLabel value="Numero Exterior" styleClass="requiredLbl"/>
<h:inputText id="Numero_exterior" label="Numero_exterior"
value="#{beanInscripcion.alumno.num_exterior}"
size="30"
required="true"/>
<h:outputLabel value="Colonia" styleClass="requiredLbl"/>
<h:inputText id="Colonia" label="Colonia"
value="#{beanInscripcion.alumno.colonia}"
size="30"
required="true"/>
<h:outputLabel value="Codio Postal" styleClass="requiredLbl"/>
<h:inputText id="Codigo_postal" label="Codigo_postal"
value="#{beanInscripcion.alumno.codigo_postal}"
size="30"
required="true"/>
<h:outputLabel value="Estado" styleClass="requiredLbl"/>
<p:selectOneMenu id="Estado" value="#{beanInscripcion.alumno.id_estado}" style="width: 250px">
<p:ajax update="Municipio" listener="#{beanInscripcion.buscarMunicipios}"/>
<f:selectItem itemLabel="Elegir Estado" itemValue="" />
<f:selectItems value="#{beanInscripcion.estados}"
var="edo" itemLabel="#{edo.nombre_estado}" itemValue="#{edo.id_estado}" />
</p:selectOneMenu>
<h:outputLabel value="Municipio" styleClass="requiredLbl"/>
<p:selectOneMenu id="Municipio" value="#{beanInscripcion.alumno.id_municipio}" style="width: 250px">
<f:selectItem itemLabel="Elegir Municipio" itemValue="" />
<f:selectItems value="#{beanInscripcion.municipios}"
var="mun" itemLabel="#{mun.nombre_municipio}" itemValue="#{mun.id_municipio}" />
</p:selectOneMenu>
</h:panelGrid>
</p:tab>
<p:tab title="Datos Académicos">
<p:panelGrid columns="2">
</p:panelGrid>
</p:tab>
<p:tab title="Datos Médicos">
<p:panelGrid columns="2">
</p:panelGrid>
</p:tab>
</p:tabView>
</h:panelGrid>
<p:commandButton id="boton_inscribir"
value="Aceptar"
action="#{beanInscripcion.insertarDatosAlumno}"
ajax="false"/>
</h:form>
</ui:define>
</ui:composition>
</html>
这是“beanInscripcion”:
package inscripcion;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class BeanInscripcion implements Serializable {
static String strURL;
private ArrayList<Estado> estados;
private ArrayList<Municipio> municipios;
private Alumno alumno;
public BeanInscripcion() {
estados = new ArrayList<Estado>();
municipios = new ArrayList<Municipio>();
alumno = new Alumno();
}
public ArrayList<Estado> getEstados() throws SQLException {
buscarEstados();
return estados;
}
public void setEstados(ArrayList<Estado> estados) {
this.estados = estados;
}
public ArrayList<Municipio> getMunicipios() throws SQLException {
return municipios;
}
public void setMunicipios(ArrayList<Municipio> municipios) {
this.municipios = municipios;
}
public Alumno getAlumno() {
return alumno;
}
public void setAlumno(Alumno alumno) {
this.alumno = alumno;
}
public Connection getConnection() {
try {
strURL = "jdbc:mysql://localhost:3306/mydb";
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection(strURL, "root", "rootroot");
} catch (SQLException ex) {
return null;
} catch (ClassNotFoundException ex) {
return null;
}
}
public void buscarEstados() throws SQLException {
estados.clear();
Connection connection = getConnection();
Statement statement = connection.createStatement();
ResultSet result = statement.executeQuery("SELECT * FROM estado");
result.beforeFirst();
while (result.next()) {
Estado estado = new Estado();
estado.setId_estado(result.getInt("id_estado"));
estado.setNombre_estado(result.getString("nombre_estado"));
estados.add(estado);
}
}
public void buscarMunicipios() throws SQLException {
municipios.clear();
Connection connection = getConnection();
Statement statement = connection.createStatement();
ResultSet result = statement.executeQuery("SELECT id_municipio, nombre_municipio FROM municipio WHERE Estado_id_estado = "
+ alumno.getId_estado());
result.beforeFirst();
while (result.next()) {
Municipio municipio = new Municipio();
municipio.setId_municipio(result.getInt("id_municipio"));
municipio.setNombre_municipio(result.getString("nombre_municipio"));
municipios.add(municipio);
}
}
public void buscarDatosAlumno() throws SQLException {
Connection connection = getConnection();
Statement statement = connection.createStatement();
ResultSet result = statement.executeQuery("SELECT * FROM preinscripciones WHERE curp = '"
+ alumno.getCurp() + "'");
result.beforeFirst();
while(result.next()){
alumno.setNombre(result.getString("nombre"));
alumno.setPrimer_apellido(result.getString("primer_apellido"));
alumno.setSegundo_apellido(result.getString("segundo_apellido"));
}
}
public void insertarDatosAlumno() throws SQLException {
Connection connection = getConnection();
Statement statement = connection.createStatement();
/*statement.executeUpdate("UPDATE inscripciones SET fecha_nac = '" + alumno.getFecha_nac() + "' , sexo = '" + alumno.getSexo()
+ "' , estado_civil = '" + alumno.getEdo_civil() + "' , pais_nac = '" + alumno.getFecha_nac() + "' , nacionalidad = '" + alumno.getNacionalidad() + "' ,"
+ "fecha_inscripcion = (select curdate()) , Escuela_procedencia_id_procedencia = " + alumno.getEscuela_procedencia() + " WHERE preinscripciones_curp = '" + alumno.getCurp() + "'");
*/
}
}
我不会粘贴其他bean(alumno,estado,municipio)导致我使用它们作为数据容器并且它们工作正常我只是不能让我的bean访问方法“beanInscripcion.buscarAlumno”
哦是的,我没有添加@ManagedBean和@AnyScope标记因为我在faces-config.xml中做了bean声明