文件xhtml
<h:body>
<p:layout fullPage="true">
<p:layoutUnit size="70" position="north"/>
<p:layoutUnit size="300" position="west"/>
<p:layoutUnit position="center">
<h:form id="MahasiswaCreateForm">
<p:panelGrid id="panelList" columns="2" >
<f:facet name="header">
Registrasi Mahasiswa Baru
</f:facet>
<p:outputLabel for="nim" value="NIM"/>
<p:inputText id="nim" value="#{databaseMahasiswa.nim}" title="nim" required="true" requiredMessage="Please fill the blank field"/>
<p:outputLabel for="nama_lengkap" value="Nama Lengkap"/>
<p:inputText id="nama_lengkap" value="#{databaseMahasiswa.nama}" title="nama" required="true" requiredMessage="Please fill the blank field"/>
<p:outputLabel for="tempatLahir" value="Tempat Lahir"/>
<p:inputText id="tempatLahir" value="#{databaseMahasiswa.tempat_lahir}" title="tempat_lahir" required="true" requiredMessage="Please fill the blank field"/>
<p:outputLabel for="mask" value="Tanggal Lahir" />
<p:calendar id="mask" value="#{databaseMahasiswa.tanggal_lahir}" title="tanggal_lahir" pattern="dd-MM-yyyy" required="true" requiredMessage="Please fill the blank field"/>
<p:outputLabel for="fakultas" value="Fakultas"/>
<p:inputText id="fakultas" value="#{databaseMahasiswa.fakultas}" title="fakultas" required="true" requiredMessage="Please fill the blank field"/>
<p:outputLabel for="jurusan" value="Jurusan"/>
<p:inputText id="jurusan" value="#{databaseMahasiswa.jurusan}" title="jurusan" required="true" requiredMessage="Please fill the blank field"/>
<p:outputLabel for="telepon" value="Telepon"/>
<p:inputMask id="telepon" mask="(9999) 9999-9999" value="#{databaseMahasiswa.telepon}" title="telepon" required="true" requiredMessage="Please fill the blank field"/>
<p:outputLabel for="alamat" value="Alamat"/>
<p:inputTextarea id="alamat" value="#{databaseMahasiswa.alamat}" title="alamat" required="true" requiredMessage="Please fill the blank field"/>
<f:facet name="footer">
<p:commandButton actionListener="#{controllerMahasiswa.simpan}" process="@this" partialSubmit="true" ajax="true" value="Confirm" update="panelList"/>
<p:spacer/>
<p:commandButton type="reset" value="Clear" />
</f:facet>
</p:panelGrid>
</h:form>
</p:layoutUnit>
</p:layout>
</h:body>
这是我称之为数据库学生和控制器
@ManagedBean
public class databaseMahasiswa {
public int getNim() {
return nim;
}
public void setNim(int nim) {
this.nim = nim;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getTempat_lahir() {
return tempat_lahir;
}
public void setTempat_lahir(String tempat_lahir) {
this.tempat_lahir = tempat_lahir;
}
public Date getTanggal_lahir() {
return tanggal_lahir;
}
public void setTanggal_lahir(Date tanggal_lahir) {
this.tanggal_lahir = tanggal_lahir;
}
public String getFakultas() {
return fakultas;
}
public void setFakultas(String fakultas) {
this.fakultas = fakultas;
}
public String getJurusan() {
return jurusan;
}
public void setJurusan(String jurusan) {
this.jurusan = jurusan;
}
public String getTelepon() {
return telepon;
}
public void setTelepon(String telepon) {
this.telepon = telepon;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
private int nim;
private String nama;
private String tempat_lahir;
private Date tanggal_lahir;
private String fakultas;
private String jurusan;
private String telepon;
private String alamat;
public void insert() {
try {
Connection dbConnect = null;
Statement exe = null;
String cSql = "insert into \"public\".mahasiswa (nim,nama,tempat_lahir,tanggal_lahir,fakultas,jurusan,telepon,alamat)"
+ " values ('" + nim + "', '" + nama + "','" + tempat_lahir + "', '" + tanggal_lahir + "', '" + fakultas + "', '" + jurusan + "', '" + telepon + "', '" + alamat + "')";
dbConnect = koneksi.konek();
exe = dbConnect.createStatement();
exe.executeUpdate(cSql);
exe.close();
dbConnect.close();
} catch (SQLException ex) {
Logger.getLogger(controllerMahasiswa.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
这是控制器
public class controllerMahasiswa {
public static void main(String[] argv) throws ClassNotFoundException {
}
public void simpan() {
databaseMahasiswa dbMhs = new databaseMahasiswa();
dbMhs.insert();
}
}
这是连接类
public class koneksi {
public static Connection konek() {
Connection connection = null;
try {
Class.forName("org.postgresql.Driver");
}
catch (ClassNotFoundException ex) {
Logger.getLogger(controllerMahasiswa.class.getName()).log(Level.SEVERE, null, ex);
}
try {
connection = DriverManager.getConnection(
"jdbc:postgresql://127.0.0.1:5432/test", "postgres","fauzan");
}
catch (SQLException ex) {
Logger.getLogger(controllerMahasiswa.class.getName()).log(Level.SEVERE, null, ex);
}
return connection;
}
}
任何人都可以解决我的问题吗? 因为我不知道为什么输入记录总是为空,在此之前我成功制作了这样的项目。 谢谢大家,对不起我的坏英语
答案 0 :(得分:0)
您根本不是process
表单,只是按钮。将其更改为
<p:commandButton actionListener="#{controllerMahasiswa.simpan}" process="@form" partialSubmit="true" ajax="true" value="Confirm" update="panelList"/>
修改强>
此外,您在调用simpan
时创建了一个新的托管bean,因此您应该通过将命令按钮委派给托管bean的方法来重用使用UI填充的对象。