x:insertRow 操作用来对使用 x:select 操作生成的结果集添加一新行。如果它的主体包含任何用于为新行提供值的 x:column 标记,则立即将新行插入到数据库中。否则,向结果集添加一空行作为占位符,以后,可以使用 x:updateRow 操作在该处设置值并更新数据库。
x:select 操作中引用的同一连接信息将用于 x:insertRow 操作。
缺省情况下,此操作在当前行旁边插入一行。请查看下面的 rows 属性的描述,以了解如何在其他位置插入行。首先将当前行中的任何更改应用于数据库。操作结束时,插入的行成为当前行。
除非此操作发生在 x:batch 操作之内(在该情况下,在 x:batch 结束之前,编号不更改),否则,此操作将更改被插入行之后的所有行的编号。
<x:insertRow name = "target bean name" row = "rowNumber" position = "before|after" > <x:column colName = "name" index = "number" value = "value" nullToken = "string" /> </x:insertRow> 或者: <x:insertRow name = "target bean name" row = "rowNumber" position = "before|after" />
x:insertRow 操作具有下列属性:
x:insertRow 操作的主体可以带有下列标记:
此示例在当前行之后对结果集添加一空行,但不执行数据库插入。以后,必须使用 x:updateRow 操作设置列值并在数据库中插入该行。
<x:insertRow name="select1" position="after"></x:insertRow>
此示例在当前行之前对结果集添加一行、为它的列设置值并将其插入到数据库中。
<x:insertRow name="select1"> <x:column colName="EMPNO" value='<%= request.getParameter("empnumber") %>' /> <x:column colName="EMPNAME" value='<%= request.getParameter("empname") %>' /> <x:column colName="COMMISSION" value='<%= request.getParameter("empcomm") %>' /> </x:insertRow>