显示标记RequestUri错误

时间:2013-10-03 15:27:58

标签: excel jsp spring-mvc displaytag

使用显示标签时出现错误。

让我解释一下情况。 我有一个搜索表单和一个显示表单,我使用了显示表。

<form:form name="queueForm" id="queueFormId" modelAttribute="queueForm" action="queueFormSearch.do">


<c:if test="${queueForm.queueType == '2' || queueForm.queueType == '3' || queueForm.queueType == '4'}">
<table>
  <td width="700px">
    <span class="boldCharacter"><spring:message code="queue.searchConditions"/></span>
  </td>

 </table>

  <div id="strtDtErr" style="display: none">
    <font color="red"><b>Start date must be a valid date in the format of mm/dd/yyyy.</b></font>
  </div>
  <div id="strtDtEmptyErr" style="display: none">
    <font color="red"><b>Please specify start date.</b></font>
  </div>
  <div id="endDtErr" style="display: none">
    <font color="red"><b>End date must be a valid date in the format of mm/dd/yyyy.</b></font>
  </div>
  <div id="endDtEmptyErr" style="display: none">
    <font color="red"><b>Please specify end date .</b></font>
  </div>
  <div id="dateRangeDiffErr" style="display: none">
    <font color="red"><b>Start date cannot be greater then end date.</b></font>
  </div>


            <td></td> 
            <td>
              <input type="button" value="Search" onclick="validateAndSearchQueueResults();" />
            </td>
          </tr>
        </table>
      </div>
    </c:if>
</form:form>

显示形式低于代码。

<form:form name="displayTagQueueForm"  action="performActionQueue.do"  modelAttribute="queueForm" id="displayTagQueueForm" method="POST">
    <input type="hidden" name="actionCode" value=""/>
        <input type="hidden" name="queueType" value="${queueForm.queueType}" />


        <c:if test="${null != queueForm.queueCaseResultsList}">




            <table>   
                <tr>
                    <c:if test="${queueForm.queueType == '2'}">
                <td>
            <input type="button" value="Finish Task onclick="performAction('5');" />
                        </td>
                    </c:if>
                </tr>
             </table> 
        </c:if>

    <display:table name="${queueForm.queueCaseResultsList}" 
                   id="parent" 
                   sort="page" 
                   form="displayTagQueueForm"  
                   partialList="true"
                   export="true"
                           RequestUri="exportExcel.do?queueType=${queueForm.queueType}"

                   pagesize="${pageSizeInt}"  
                   size="resultSize" 
                   class="sortable" 
                   excludedParams="*"
                   decorator="com.wfc.mtg.fate.web.queue.QueueResultsVOWrapper"
                   style="width:1350px" 
                    >
             <display:setProperty name="export.types" value="excel" />
             <display:setProperty name="export.excel" value="true" />            
             <display:setProperty name="export.amount" value="list" /> 
             <display:setProperty name="export.excel.filename" value="List.xls"/>  
             <display:setProperty name="export.banner"><div id="exportTypes"><span class="label">Export:</span> {0}</div></display:setProperty>
             <display:setProperty name="basic.msg.empty_list" value="No assignments found."/>
             <display:setProperty name="paging.banner.placement" value="top"/>
             <display:setProperty name="paging.banner.onepage" value=" "/>
             <display:setProperty name="paging.banner.item_name" value="assignment"/>
             <display:setProperty name="paging.banner.items_name" value="assignments"/>
             <display:setProperty name="paging.banner.group_size" value="8"/>
             <display:column title="" property="type" />
             <display:column title="Selection" property="chkBox" style="align:center; "/>
             <display:column property="caseLink" title="Case ID" style="width:50px"/>

             <display:column property="priority" title="Priority" style="width:75px"/>
             <display:column property="status" title="Status" />
             <display:column property="stage" title="Stage" />
             <display:column property="daysInStage" title="Days in Stage" />
             <display:column property="stageDueDt" title="Stage Due Date" />
             <display:column property="scheme" title="Scheme" />

        </display:table>




    </div>

<script language="javascript">
    doOnLoad('<c:out value="${queueForm.isError}"/>', '<c:out value="${queueForm.actionCode}"/>');
</script>

</form:form>

现在我可以将表导出到excel中。但是,如果我点击第2页或下一个链接上面的搜索表单和完成任务按钮我走了。

我调试了我的应用程序,发现queueType正在进行2次。像2,2一样,当我们点击第3页时,队列类型为2,2,2,2。如果我删除requestUri中的Param,那么它工作正常。为了导出到excel我需要param.How我应该如何处理这个问题。

请向我询问更多信息,抱歉模糊不清。

1 个答案:

答案 0 :(得分:0)

好吧我明白了

我发送了参数

以及exportExcel

所以它把它当作两个。

从displayTag文档中我发现了requestURI被导出和分页使用。

并且我已将URI更改为performActionQueue.do并在导出条件时捕获

谢谢

如果我错了,请分享您的观点。