有关如何使用NetBeans IDE的更多信息,请参阅NetBeans网站上的支持和文档。
您还必须执行其他一些属性绑定。
1. 您需要为已放置Radio Button的表格列绑定一些属性。在我们的示例中,此表格列为tableColumn5。 在Navigator窗口中选择该表格列(或者在Design窗口中单击该列),从上下文菜单中打开Properties Binding对话框,然后设置两个属性。您必须手动输入这些绑定表达式。如前所示,设置每一属性之后单击Apply按钮。
o 将onClick属性设置为setTimeout(‘initAllRows()’,0)。当前绑定字段很有可能不会反映应用属性之后的新绑定表达式。即使如此,绑定仍应显示在 JSP 代码中。
o 将selectId属性设置为#{Page1.radioButton1.id}
完成之后,tableColumn5标记的JSP代码应如下所示:
代码示例7:tableColumn5的JSP标记 |
<webuijsf:tableColumn binding="#{Page1.tableColumn5}" id="tableColumn5" onClick="setTimeout('initAllRows()', 0)" selectId="#{Page1.radioButton1.id}"> |
2. 现在,将表格表行组(在我们的示例中为tableRowGroup1)中的selected属性绑定为selectedState。新绑定表达式应为#{Page1.selectedState},如图9中所示。标记 tableRowGroup的JSP代码应如下所示:
代码示例8:tableRowGroup1的JSP标记 |
|
编写按钮处理程序方法的代码
您 需要将一些代码添加到Page1中的Add和Update按钮操作处理程序。(这两个按钮位于紧挨表格下方的buttonPanel中。) 随后,我们将您添加到操作处理程序方法的代码替换页面底部的两个按钮(Add Record和Update Record按钮)。
此代码还需要两个布尔变量,当您更新按钮操作处理程序方法时,需要添加这两个布尔变量。设置所有按钮操作处理程序之后,需要将一些自定义代码添加到prerender方法。
创建布尔变量
将两个布尔变量添加到Page1.java源文件。调用addRequest和updateRequest变量并将这两个值设置为错误。在源文件中,您会看到以下语句。
代码示例9:在Page1.java中创建布尔变量 |
private boolean addRequest = false; |
编写按钮操作处理程序方法
将代码添加到Add按钮的addButton_action方法。已添加的代码将标志(addRequest)设置为正确,以便启用addUpdatePanel,它包含用户名、密码和电子邮件地址等条目字段。prerender方法使用这些布尔值确定addUpdatePanel的处理。
在Design窗口中双击页面上的“添加按钮”,在 Java 源编辑器中打开按钮代码。向将addRequest设置为正确的addButton_action方法添加一行。操作处理程序应如下所示:
代码示例10:添加按钮操作处理程序方法 |
private boolean addRequest = false; |
注意: 如果通过单击Java选项卡而非双击该按钮打开Page1的Java源文件,您将不会看到该按钮的操作处理程序方法。当双击按钮时,方便起见,IDE将为操作处理程序添加一个空方法,您只需要添加代码的自定义行即可。
双击Update按钮打开updateButton_action方法并添加以下代码。与addButton操作处理程序一样,此代码将布尔updateRequest设置为正确,从而启用addUpdatePanel。操作处理程序应如下所示:
代码示例11:更新按钮操作处理程序方法 |
private boolean updateRequest = false; |
现在,将代码添加到Delete按钮程序处理程序,从而当单击按钮时,从数据库中删除表格的所选行。此代码从tableRowGroup1首先获取所选RowKey。它使用RowKey索引确定并获取Users表格中的相应行。然后调用UserController.removeUser方法,将其传递给行标识符,然后removeUser从数据库中删除所选行。在将此代码添加到Page1.java文件之后,您很可能需要使用Fix Imports函数。
代码示例12:删除按钮操作处理程序方法 |
public String deleteButton_action() { |
编写创建实体Bean的代码并添加到数据库
现在,您将准备把代码添加到Add Record和Update Record操作处理程序方法。“添加记录”操作处理程序的代码抓取输入到addUpdatePanel字段的数据,并且创建包括Users表格中一行数据的一个新实体bean。然后,它调用UserController方法addUser将此实体bean数据添加到数据库。同时,它还将布尔updateRequest设置为错误。随后,在按钮操作处理程序完成之后,将代码添加到prerender方法,以便使用布尔变量updateRequest和addRequest确定所采取的处理路径。
双击Design窗口中的Add Record按钮,在Java源编辑器中打开addRecordButton操作处理程序。然后,将下列代码添加到方法。完整方法应如下所示:
代码示例13:添加记录按钮操作处理程序方法 |
public String addRecordButton_action() { |
编写更新数据库记录的代码
将代码添加到Update Record按钮的操作处理程序,以便更新数据库中的现有记录。操作处理程序抓取由用户输入在addUpdatePanel字段中的数据,并且将该数据写至数据库记录。
双击Update Record按钮,在Java源编辑器中打开updateRecordButton_action操作处理程序,并将下列代码添加到操作处理程序。已添加的代码使用表格中的当前选择首先获取Users实体bean。它可以用在addUpdatePanel字段中输入的数据更新Users字段,然后调用UserController.updateUser方法用实体bean数据更新数据库数据。完成的操作处理程序应如下所示:
代码示例14:更新记录按钮操作处理程序方法 |
public String updateRecordButton_action() { |
修改控制页面显示的prerender方法
页面上的prerender方法可以设置页面显示的任何自定义参数,并且在显示页面之前予以调用。您添加到prerender方法的以下代码,使用布尔值addRequest和updateRequest确定是否显示或隐藏addUpdatePanel。它还可以根据是否发生修改或增加数据来更新用户数据的显示。
代码示例15:已修改的prerender方法 |
public void prerender() { |
运行应用程序
现在,您准备开始构建和运行TestWebApp应用程序。右键单击Projects窗口中的TestWebApp,然后选择Run Project选项。当在浏览器中打开页面时,显示效果非常类似于从企业级应用程序看到的那样。
图9:浏览器中运行的TestWebApp
您可以修改现有记录的信息,以及添加新记录和删除现有记录。页面显示的更改取决于您所选择的按钮。例如,如果您要修改现有用户记录,请选中该记录的单选按钮,然后单击Update按钮。浏览器窗口显示所选记录的字段,然后您可以根据需要进行修改。单击Update Record按钮保存对数据库的任何更改。
图10:更新用户记录
结束语
本文向您介绍了如何修改您以前已设置的项目,以便使用Java Persistence API访问数据库。您了解了如何使用Java Persistence API修改现有数据库记录、添加新记录和删除记录。此外,本文还介绍了如何使用Visual Web组件和功能创建专业外观的网页。