1

我正在使用 Spring MVC3 设计一个应用程序。我必须创建一个具有数据表和用户的 JSP 页面,并且可以在 JSP 数据表中添加行。我正在考虑以下两个选项:

  1. 使用 javascript 函数在“插入行”按钮上添加一行
  2. 要在“插入行”按钮上提交表单,请转到控制器并返回带有额外行的模型属性。

在java脚本方法中,我可以添加行,但这些行在服务器端没有绑定......请帮助。我如何使用控制器方法来实现这一点..请尽快帮助...thanx :)

请注意,我不能使用 jQuery 或任何其他 javascript 库。

4

1 回答 1

2

我已经使用LazyList. 您需要在模型中有一个惰性列表对象,该对象将保存另一个模型类的对象列表,这些对象将代表每一行中的数据。以下是在模型类中声明 LazyList 的语法。

private List<OperationParameters> operationParameterses = LazyList
            .decorate(new ArrayList<OperationParameters>(),
                    FactoryUtils.instantiateFactory(OperationParameters.class));

OperationParameters 是一个简单的 pojo 类,它的一个对象将代表您的 1 行。

一旦在你的 modelAttribute 类中有这个惰性列表,那么在 jsp 上,你需要借助简单的 html 输入标记为 OperationParameters pojo 中的每个属性创建控件。您不能使用 spring form taglib 将这些控件绑定到您的 pojo。您需要按以下方式给出每个输入标签的名称。

<input type='text' id='operationParameterses0.inputOutputParamName' name='operationParameterses[0].inputOutputParamName'/>

其中 name 和 id 属性中的“0”表示列表的索引。现在,当您提交表单时,您可以将那些插入的行绑定到 LazyList 对象中的 pojo。

希望这对您有所帮助。

干杯。

于 2012-10-22T09:55:52.150 回答