Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用display标记从JSP页面中的行获取值_Java_Jsp_Web Applications_Struts2_Displaytag - Fatal编程技术网

Java 使用display标记从JSP页面中的行获取值

Java 使用display标记从JSP页面中的行获取值,java,jsp,web-applications,struts2,displaytag,Java,Jsp,Web Applications,Struts2,Displaytag,很抱歉提出了一大堆Struts2/JSP问题,但我生成了一个表,其中包含: 现在我希望能够删除或编辑某一行(我已经写出了操作),但是如何才能获得每一行的特定数据,以便我可以告诉我的操作类要编辑或删除哪一行?您的表似乎在每一行的类对象中没有唯一的标识符字段。 您可以在将要显示的bean类中添加field-id。(companybean类中的companyId)。因此,表中的每一行都将显示唯一的“company”对象,根据“companyId”字段,您可以通过将“companyId”传递给Act

很抱歉提出了一大堆Struts2/JSP问题,但我生成了一个表,其中包含:



现在我希望能够删除或编辑某一行(我已经写出了操作),但是如何才能获得每一行的特定数据,以便我可以告诉我的操作类要编辑或删除哪一行?

您的表似乎在每一行的类对象中没有唯一的标识符字段。 您可以在将要显示的bean类中添加field-id。(companybean类中的companyId)。因此,表中的每一行都将显示唯一的“company”对象,根据“companyId”字段,您可以通过将“companyId”传递给Action类来编辑/删除所选对象

您可能不希望在UI布局中向最终用户显示“companyId”列。在这种情况下,您可以使用“companyId”作为参数创建“编辑”和“删除”列的超链接


有关更多详细信息,请参见此处的displaytag教程

您的表似乎在每行的类对象中没有唯一标识符字段。 您可以在将要显示的bean类中添加field-id。(companybean类中的companyId)。因此,表中的每一行都将显示唯一的“company”对象,根据“companyId”字段,您可以通过将“companyId”传递给Action类来编辑/删除所选对象

您可能不希望在UI布局中向最终用户显示“companyId”列。在这种情况下,您可以使用“companyId”作为参数创建“编辑”和“删除”列的超链接


有关更多详细信息,请参见此处的displaytag教程

我在前几天你问我的时候提到过这一点。您只需要在您的行中添加一些内容,可能是一个隐藏字段,可以用来唯一标识该项


我建议在行中使用
,它将与操作一起提交。只要对象上有这样的属性,并且在移除操作中有一个setter来接收该值,就可以使用它来唯一地标识行。

我在前几天您询问时提到过这一点。您只需要在您的行中添加一些内容,可能是一个隐藏字段,可以用来唯一标识该项

我建议在行中使用
,它将与操作一起提交。只要对象上有这样的属性,并且在删除操作中有一个setter来接收该值,就可以使用它来唯一标识行。

使用下面的方法来获取行id。 我用单选按钮

<display:column  property="radioButton" title="ID">
                  <input type="radio" value='<%=data_rowNum.intValue()-1%>' name='rowNr' onClick="fnEnableControls()"/>
</display:column>

现在,您可以使用
req.getParameter
轻松获取rowNr的值,并基于此,您可以从您提供的列表中获取记录,以显示标记表。

使用下面的方法获取行id。 我用单选按钮

<display:column  property="radioButton" title="ID">
                  <input type="radio" value='<%=data_rowNum.intValue()-1%>' name='rowNr' onClick="fnEnableControls()"/>
</display:column>


现在,您可以使用
req.getParameter
轻松获取rowNr的值,并基于此,您可以从提供给显示标记表的列表中获取记录。

Hi Shawn,我尝试了hidden field选项,但当我尝试检索该值(我将其命名为row)时,却得到了一个空值。在我尝试实现显示标记库之前,它就已经工作了,所以我不确定该怎么做才能让它与显示标记一起工作。当然,由于标记库都经过处理以生成实际的HTML,因此在加载页面后,您应该能够查看HTML源代码。看看是否有一个元素
,或者你叫它什么的。它将保持价值。如果不存在,则意味着由于缺少更好的术语,在“获取”阶段无法正确检索该值。如果存在,这意味着请求将包含该值,因此这可能是setter的问题。嗨,Shawn,我检查了源代码中生成的HTML,它确实包含隐藏字段。假设我用来生成表的列表是ArrayList,其中TableRow是我自己定义的类。在这种情况下,rowID必须是TableRow类型吗?现在,它显示当我有TableRow类型的rowID时,我得到了一个空值。不,如果它是生成的
,其中FFR34123可以用来在操作中查找该行。我不确定你的桌子上有什么,但它看起来像某种事件列表。删除或显示编辑操作只需要一个普通的setter,比如
setRowID(String id)
,它接收这个值,然后在“execute”调用中,查找并对该值执行操作。嗨,Shawn,看我的HTML代码,隐藏的标记看起来像这样:所以我没有要检索的值。rowID是我应该在TableRow类中拥有的字段吗(我为每个对象单独设置)?如果我听起来很困惑,我很抱歉,因为我…嗨,Shawn,我尝试了隐藏字段选项,但是当我尝试检索值(我将其命名为row)时,我得到了一个空值。在我尝试实现显示标记库之前,它就已经工作了,所以我不确定该怎么做才能让它与显示标记一起工作。当然,由于标记库都经过处理以生成实际的HTML,因此在加载页面后,您应该能够查看HTML源代码。看看是否有一个元素
,或者你叫它什么的。它将保持价值。如果不存在,则意味着由于缺少更好的术语,在“获取”阶段无法正确检索该值。如果存在,这意味着请求将包含该值,因此这可能是setter的问题。嗨,Shawn,我检查了源代码中生成的HTML,它确实包含隐藏字段。假设我用来生成表的列表是ArrayList,其中TableRow是我自己定义的类。在这种情况下,rowID必须是TableRow类型吗?现在,它显示当我有TableRow类型的rowID时,我得到了一个空值。不,如果它是在哪里生成的