Javascript 在SpringMVC中动态添加表行并绑定到服务器端
我正在用SpringMVC3设计一个应用程序。我必须创建一个JSP页面,它有一个数据表和用户,并且可以在JSP数据表中添加行。我正在考虑以下两种选择:Javascript 在SpringMVC中动态添加表行并绑定到服务器端,javascript,spring-mvc,Javascript,Spring Mvc,我正在用SpringMVC3设计一个应用程序。我必须创建一个JSP页面,它有一个数据表和用户,并且可以在JSP数据表中添加行。我正在考虑以下两种选择: 使用javascript函数在“插入行”按钮上添加行 要在“插入行”按钮上提交表单,请转到控制器并返回一个带有额外行的模型属性 在java脚本方法中,我可以添加行,但这些行在服务器端没有绑定…请帮助。 如何使用控制器方法实现此目标..请尽快提供帮助..谢谢:) 请注意,我不能使用jQuery或任何其他javascript库。我是通过LazyLis
请注意,我不能使用jQuery或任何其他javascript库。我是通过
LazyList
实现的。您的模型中需要有一个惰性列表对象,它将保存另一个模型类的对象列表,该模型类将表示每行中的数据。以下是在模型类中声明LazyList的语法
private List<OperationParameters> operationParameterses = LazyList
.decorate(new ArrayList<OperationParameters>(),
FactoryUtils.instantiateFactory(OperationParameters.class));
private List operation参数=LazyList
.decoration(新的ArrayList(),
instancefactory(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 and id属性中,“0”表示列表的索引。现在,当您提交表单时,可以将插入的行绑定到LazyList对象中的pojo
希望这对你有帮助
干杯。但是我如何将java脚本添加的行绑定到这个惰性列表?它将由Spring自动管理。您只需要按照我提到的格式指定ID和名称。使用此ID和名称创建输入标记,当您提交表单时,您将获得列表中的每一行。您需要维护添加行数的计数器,并且在每个新添加的行上,您需要增加计数器,并将该计数器替换为标记中ID和名称属性中的“0”。您是否可以建议我,单击“添加行”按钮时,如何将此计数器增加1???javascript中需要有一个全局变量,该变量将具有计数器值。当用户单击AddRow按钮时,您需要在计数器中添加1,并创建一个新行,该新行包含id和名称为的控件,正如我建议使用的递增计数器值。