4

我有一个场景,我想多次生成相同的表单。我的应用程序基于 spring 3.0 框架。

场景:基本上我正在为运输公司设计此应用程序,其中需要安排负载)哪个司机携带哪个负载以及何时以及从哪个起点到哪个目的地)。现在,问题是有时货物不会直接从起点运送到目的地,交付时会出现分裂,例如,一名司机将货物从起点运送到某个地点,而另一名司机再次将货物从该地点运送到目的地。但是拆分的数量可能会因时间而异。

所以我需要根据拆分数量动态生成多个表单来安排负载,例如

Enter first splits information
--------------------------------
form1
----------------------------------


Enter second splits information
--------------------------------
form2
-------------------------------

submit button
4

2 回答 2

4

您可以执行以下操作,

首先在页面中的任何jquery函数中jsp添加以下代码,

for(var i=0; i<lcount;i++){ //lcount is number of splits.               
$('#tload'+i).load('url of controller class that helps in loading form');
}

divs在同一个jsp页面中写一些id'tload1','tload2','tload3'以此类推。

<div id="tload1"></div>
<div id="tload2"></div>
<div id="tload3"></div>
............
............
so on

每当从您的控制器返回时,返回到包含加载表单的 iframe 的 jsp 页面。通过使用.load()如上所示的功能将自动将iframe包含您的表单加载到相应div tags的 . 就是这样,您的问题就解决了。

于 2013-03-27T13:44:10.000 回答
0

以下是一些选项:

  1. 纯 JavaScript 方法 - 我会使用 JS 库,比如 jQuery,但基本上有 JS 可以将所需的部分添加到表单中。在这里查看我的答案。
  2. 往返方法 - 让 JSTL 使用模型属性中的“拆分”列表构建表单。当用户点击“添加拆分”时,您会调用相同的 URL,并传入一个可选参数来指示应该有多少拆分。它将一个新的添加到列表中并返回到您的视图

我个人喜欢第一个,因为它减少了对后端的调用次数。您必须注意的一件事是您是否有添加和删除按钮。如果您从模型属性中的地图/列表支持的列表中删除内容,则需要“清除”这些条目,否则当您最终提交表单时它们可能仍然存在。

于 2013-02-06T17:27:01.513 回答