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 使用Displaytag时从Struts2表中的行检索值_Java_Jsp_Struts2_Jsp Tags_Displaytag - Fatal编程技术网

Java 使用Displaytag时从Struts2表中的行检索值

Java 使用Displaytag时从Struts2表中的行检索值,java,jsp,struts2,jsp-tags,displaytag,Java,Jsp,Struts2,Jsp Tags,Displaytag,我知道这有点像是重新发布,但我觉得重新发布我的问题会让事情变得更清楚 以下是我的JSP页面中我的表的代码: <display:table name="table" pagesize="25" requestURI=""> <display:column title="Action" > <s:form theme="simple"> <s:hidden key="cpc" /> <s:submit ac

我知道这有点像是重新发布,但我觉得重新发布我的问题会让事情变得更清楚

以下是我的JSP页面中我的表的代码:

<display:table name="table" pagesize="25" requestURI="">
<display:column title="Action" >
    <s:form theme="simple">
        <s:hidden key="cpc" />
        <s:submit action="remove" value="Remove" 
        onclick="return confirm('Are you sure you want to delete this item?');"/>
        <s:submit action="displayEdit" value="Edit"/>
    </s:form>
</display:column>
<display:column property="cpc" title="CPC" sortable="true" headerClass="sortable"/>
<display:column property="companyName" title="Company Name" sortable="true" headerClass="sortable"/>
<display:column property="eventType" title="Event Type" sortable="true" headerClass="sortable"/>
<display:column property="industryType" title="Industry Type" sortable="true" headerClass="sortable"/>
<display:column property="previousEvents" sortable="true" headerClass="sortable"/>
<display:column property="creditNotifications" sortable="true" headerClass="sortable"/>
<display:column property="interimNotifyEnterprise" sortable="true" headerClass="sortable"/>
</display:table>

表的源代码是ArrayList,其中TableRow是所有字段的包装类(我为所有字段提供了getter和setter)。现在,当我检查HTML源代码时,我看到隐藏字段如下:

<input type="hidden" name="cpc" value="" id="displayResults_cpc"/>

由于某种原因,找不到任何价值。。。在我使用Displaytag之前它工作得很好,我的Action类中有一个getter和setter(现在它返回一个空字符串)

编辑:这是前两行的HTML代码:

<tr class="odd">
<td>

<form id="displayResults" name="displayResults" onsubmit="return true;" action="/CompanyNameTableManager/displayResults.action;jsessionid=566617D98154AB762002B06D9D1087CD" method="post">
        <input type="hidden" name="cpc" value="" id="displayResults_cpc"/>
        <input type="submit" id="displayResults_remove" name="action:remove" value="Remove" onclick="return confirm('Are you sure you want to delete this item?');"/>

        <input type="submit" id="displayResults_displayEdit" name="action:displayEdit" value="Edit"/>

    </form>  
</td>
<td>10.1.1</td>
<td>Comapny A</td>
<td>abc</td>
<td>123</td>
<td>true</td>
<td>true</td>

<td>true</td></tr>
<tr class="even">
<td>

<form id="displayResults" name="displayResults" onsubmit="return true;" action="/CompanyNameTableManager/displayResults.action;jsessionid=566617D98154AB762002B06D9D1087CD" method="post">
        <input type="hidden" name="cpc" value="" id="displayResults_cpc"/>
        <input type="submit" id="displayResults_remove" name="action:remove" value="Remove" onclick="return confirm('Are you sure you want to delete this item?');"/>

        <input type="submit" id="displayResults_displayEdit" name="action:displayEdit" value="Edit"/>

    </form>
</td>
<td>10.1.2</td>
<td>Comapny B</td>
<td>abc</td>
<td>123</td>
<td>true</td>
<td>false</td>
<td>false</td></tr>

10.1.1
康帕尼A
abc
123
真的
真的
真的
10.1.2
康帕尼B
abc
123
真的
假的
假的

我认为可能发生的情况是Struts 2和Display标记库的行特定需求交互不好,也就是说,另一个标记库正在进行自己的逐行处理,并且“cpc”的OGNL表达式没有得到正确的计算,因为该行没有被正确地推到值堆栈上(如果你不明白我的意思,这不是关键)


由于CPC值位于另一列中,您是否可以在单击(或加载)按钮时使用Javascript从相邻字段检索值?

我想我是因为使用按钮而退出的,但如果有人好奇,我最终使用的是:

<s:form theme="simple" method="post">
<display:table name="table" pagesize="25" requestURI="" uid="row">
<display:column title="Select">
    <s:checkbox name="checked[%{#attr.row_rowNum - 1}]" fieldValue="%{#attr.row.cpc}" theme="simple"/>
</display:column>
<display:column property="cpc" title="CPC" sortable="true" headerClass="sortable"/>
<display:column property="companyName" title="Company Name" sortable="true" headerClass="sortable"/>
<display:column property="eventType" title="Event Type" sortable="true" headerClass="sortable"/>
<display:column property="industryType" title="Industry Type" sortable="true" headerClass="sortable"/>
<display:column property="previousEvents" sortable="true" headerClass="sortable"/>
<display:column property="creditNotifications" sortable="true" headerClass="sortable"/>
<display:column property="interimNotifyEnterprise" sortable="true" headerClass="sortable"/>
</display:table>
    <s:submit action="remove" value="Remove" 
    onclick="return confirm('Are you sure you want to delete this item / these items?');"/>
    <s:submit action="displayEdit" value="Edit"/>
    <s:submit value="Add New Row" action="displayAdd"/>
</s:form>


Hi Shawn,你能提供一个简单的例子说明我将如何按照这些思路做一些事情吗?我以前从未真正处理过Javascript…你真幸运,能够一次学会所有这些东西。:-)是的,我会在几分钟内看看我能想出什么。你能粘贴一点行生成的HTML,这样我就可以给你一些Javascript了吗?我只是不确定您的示例中的“真实”ID是什么。谢谢。啊,该死的,我现在无法访问我的网络应用程序(它在工作时的网络上),我将在明天早上粘贴它。我想我很幸运能同时学到这些东西?hahaHi Shawn,我编辑了我的原始帖子以显示生成的HTML。您好,谢谢fieldValue=“%{attr.row.cpc}”这解决了我的问题。虽然我的问题与以前不同,但我的问题得到了解决。再次感谢。。!!