列代码添加到操作处理程序。已添加的代码使用表格中的当前选择 首先获取 Users 实体 bean。它可以用在 addUpdatePanel 字段中输入的数据更新 Users 字段,然后调用 UserController.updateUser 方法用实体 bean 数据更新数据库数据。 完成的操作处理程序应如下所示:
代码示例 14:更新记录按钮操作处理程序方法
public String updateRecordButton_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
// Create a new Users Entity
RowKey[] selectedRowKeys = getTableRowGroup1().getSelectedRowKeys ();
Users[] users = getSessionBean1().getUsers();
int rowId = Integer.parseInt(selectedRowKeys[0].getRowId());
Users user = users[rowId];
user.setUsername((String) userNameField.getText());
user.setPassword((String) passwordField.getText());
user.setEmailAddress((String) emailAddressField.getText());
// Update the database table data using UserController
UserController userController = new UserController();
userController.updateUser(user);
addRequest = false;
return null;
}
使用Java Persistence API修改数据库表行(9)
时间:2011-04-03 Beth Stearns
修改控制页面显示的 prerender 方法
页面上的 prerender 方法可以设置页面显示的任何自定义参数,并且在显示页面之前 予以调用。您添加到 prerender 方法的以下代码,使用布尔值 addRequest 和 updateRequest 确定是否显示或隐藏 addUpdatePanel。它还可以根据是否发生修改或增 加数据来更新用户数据的显示。
代码示例 15:已修改的 prerender 方法
public void prerender() {
if(addRequest){
addUpdatePanel.setRendered(true);
addRecordButton.setRendered(true);
updateRecordButton.setRendered(false);
userNameField.setText("");
passwordField.setText("");
emailAddressField.setText("");
}else if (updateRequest){
if (getTableRowGroup1().getSelectedRowsCount() > 0){
// Get the data from the selected Entity and update the fields
RowKey[] selectedRowKeys = getTableRowGroup1 ().getSelectedRowKeys();
Users[] users = (Users[]) getSessionBean1().getUsers();
int rowId = Integer.parseInt(selectedRowKeys[0].getRowId ());
Users user = users[rowId];
userNameField.setText(user.getUsername());
passwordField.setText(user.getPassword());
emailAddressField.setText(user.getEmailAddress());
addUpdatePanel.setRendered(true);
addRecordButton.setRendered(false);
updateRecordButton.setRendered(true);
}
}else{
addUpdatePanel.setRendered(false);
}
// Refresh the users data array in the session bean to to show
// the newly added data or modified data in the Table Component
getSessionBean1().updateUsers();
}
运行应用程序
现在,您 |