Struts 1.2,从表单传递参数

时间:2017-02-14 08:38:57

标签: java html forms jsp struts-1

所以最近我开始在我正在工作的公司中开发一个很大的旧应用程序。它是用Spring编写的,并且使用struts 1.2作为控制器 - 这是一项我并不熟悉的技术。我的任务是添加多个接受选项 - 有一个接受单个发票的选项。因为我不知道struts是如何工作的(并且相信我的架构这个应用程序是完整的意大利面)我想使用这个单一的接受动作来进行多次接受 - 将id传递给方法,如果有多个id请求遍历所有这些请求并遍历每个id的接受过程(这也很长且非常难以理解)。

问题是 - 表单似乎没有将id传递给url - 在方法中我从请求url中检索Id的数组。 struts中有没有办法通过url传递参数?

看起来更像这样:

表格:

# group all files with the extension .csv 
filenames <- Sys.glob("*.csv")

# Then the loop
      for(i in filenames) {
      tables <- get(i)
      names(tables) <- "epitope"
      assign(i, tables)
    }

struts.xml中

<html:form action="/invoice_processing" method="get" styleClass="form">
   <c:if test="${not empty invoices_list_with_dynamic_checkboxes}">             
      <jsp:include page="/WEB-INF/jsp/invoices/dynamic_invoices_list_with_checkboxes" flush="true"/>
   </c:if>
</html:form>

编辑 - 添加表格和方法“invoices_list_with_dynamic_checkboxes”

<action path="/invoice_processing"
   type="pl.blah.blah.InvoiceProcessor"
   name="invoice_processing_form" scope="session" validate="false">
   <forward name="executeTask" path="/i_do_not_matter.do" />
</action>

它所采用的方法(注意:ActionContext是自制类,它不实现扩展任何上下文类的任何接口 - 尽管它通过getRequest()检索请求URL - 尽管它提供了像invoiceProcessing这样的东西。做)

<div class="table">
    <table class="table_list_highlight">
        <thead>
            <tr>    

                <th rowspan="2">I do not matter ID</th>
                <th rowspan="2">I do not matter</th>
                <th rowspan="2">I do not matter</th>
                <th rowspan="2">Check the checkbox</th>

            </tr>

        </thead>    
        <c:forEach var="singleInvoice" items="${invoicesThatAreDeclaredBeforeAndWork}">
            <tbody>
                <tr>
                    <td rowspan="2"><c:out value="${singleInvoice.invoice.amount}"/></td>
                    <td rowspan="2"><c:out value="${singleInvoice.invoice.date}"/></td>         
                    <td rowspan="2"><c:out value="${singleInvoice.invoice.whatever}"/></td>         
                    <td rowspan="2"><input type="checkbox" name="checkboxGroup" value='${singleInvoice.invoice.id}'></td>

                </tr>           
            </tbody>
        </c:forEach>
    </table>
</div> 

所有这些名称都用英语重命名 - 我无法复制粘贴所有这些代码,因为它真的很长,并且基本上有一些有用的东西,而且不是问题。问题在于检索表单本身提交的id。

0 个答案:

没有答案