[英]How to use jsf to edit some data in a database
我有一個顯示在數據庫中輸入的某些數據的應用程序,這應該允許用戶刪除或編輯此信息,到目前為止,我設法將其刪除,但是我想知道,什么是編輯數據的最佳方法,如果可能的話,我想單擊頁面上的一個編輯按鈕,該頁面上已經填充了數據,這會將用戶帶到一個僅具有選擇記錄的頁面,然后再填充文本框,然后允許用戶編輯這些文本。我會這樣做嗎?
這就是我從數據庫中刪除一行的方式
<p:dataTable id="dataTable" var="u" value="#{userBean.getUserList()}"
paginator="true" rows="10"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15">
<p:column>
<f:facet name="header">
User ID
</f:facet>
#{u.userID}
</p:column>
<p:column>
<f:facet name="header">
Name
</f:facet>
#{u.name}
</p:column>
<p:column>
<f:facet name="header">
Email
</f:facet>
#{u.email}
</p:column>
<p:column>
<f:facet name="header">
Address
</f:facet>
#{u.address}
</p:column>
<p:column>
<f:facet name="header">
Created Date
</f:facet>
#{u.created_date}
</p:column>
<p:column>
<f:facet name="header">
Delete
</f:facet>
<h:commandButton value="Delete" action="#{user.delete(u.userID)}" />
</p:column>
<p:column>
<f:facet name="header">
Edit
</f:facet>
<h:commandButton value="Edit" action="{user.delete(u.userID)}" />
</p:column>
</p:dataTable>
這是支持bean,允許我刪除
public void delete(long userID) {
PreparedStatement ps = null;
Connection con = null;
if (userID != 0) {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
String sql = "DELETE FROM user1 WHERE userId=" + userID;
ps = con.prepareStatement(sql);
int i = ps.executeUpdate();
if (i > 0) {
System.out.println("Row deleted successfully");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
con.close();
ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
謝謝
編輯
我已經弄清楚了如何更新數據,我的問題現在很簡單,我如何從一行中獲取數據,並用輸入框填充帶有所選數據的新頁面,或者更好的方法是實時編輯表中的數據,是這個possilbe
無需將用戶帶到第二頁來編輯數據,您可以使用primitives DataTable-行編輯看到此內容
http://www.primefaces.org/showcase/ui/datatableRowEditing.jsf
僅使用editdata方法發送用戶對象
<h:commandButton value="Edit" action="{user.editData(u)}" />
那么您可以使用帶有更新的准備好的語句,如下所示
字符串sql =“ UPDATE user1 set name ='” + name +“',email ='” + email +“',address ='” + address +“'WHERE userId =” + userID;
我建議嘗試休眠。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.