Java 如何在spring中以bean的形式接收动态生成的输入值

Java 如何在spring中以bean的形式接收动态生成的输入值,java,html,spring,spring-mvc,Java,Html,Spring,Spring Mvc,在我的项目中,我动态生成下表中的文本框 project Name Date1 Date2 Date3 Date4 Date5 Activity java Development Addnew C++ Development Addnew 我显示一周的表格。如果用户单击addnew,我将在用户单击addnew按钮的行下方生成动态文本框

在我的项目中,我动态生成下表中的文本框

project Name Date1 Date2 Date3 Date4 Date5 Activity 
java                                        Development Addnew
C++                                         Development Addnew 
我显示一周的表格。如果用户单击addnew,我将在用户单击addnew按钮的行下方生成动态文本框

我的问题是如何将spring控制器中的所有文本框值作为bean类获取,因为我不确定页面加载和提交中有多少文本框


任何想法都将不胜感激

使用传统的
getParameter()
方法。我假设您的文本框在使用
jquery
生成时具有唯一的名称

在控制器中

   List<String> requestParameterNames = Collections.list((Enumeration<String>) request.getParameterNames());

for (String parameterName : requestParameterNames) {
    String attributeName = parameterName;
    String attributeValue = request.getParameter(parameterName);
    // will have the text box values 

}
List requestParameterNames=Collections.List((枚举)request.getParameterNames());
for(字符串参数名称:RequestParameterName){
字符串attributeName=parameterName;
字符串attributeValue=request.getParameter(parameterName);
//将具有文本框值
}

您的问题中没有足够的细节来给出具体的答案。不过,我建议采取一般做法

  • 如果你有一个像主干网或角网这样的框架,那就调查一下它的收集设施的使用情况
  • 编写JavaScript,从所有文本字段构建JSON数组
  • 在Java中定义一个POJO,用于镜像数组中的每个条目
  • 确保您正在使用-这将在调用控制器之前为您将JSON映射到Java对象
  • 在控制器中定义一个获取POJO列表的方法,例如,使用PUT使用/times/{employeeId}等URL创建(列表值)
  • 要读取数据库,请在控制器中添加返回POJO列表的方法,例如使用get返回URL为/times/{employeeId}的列表值get(long employeeId)
  • 或者,如果您需要表单是“实时”的,即“添加新”导致数据库中的行立即使用REST界面,分别使用POST、PUT和DELETE创建、更新和删除
我假设您以后需要更新列表,因此我建议您使用一个ID结构,该结构可用于创建和更新操作,而不仅仅是一个简单的字符串列表,这也将允许以后使用更多字段

public void Foo {
  private String project;
  private String name;
  private long id;
  // getters + setters
}
用于创建

[{"project":"java","name":"Development",id:0}, {"project":"C++","name":"Development",id:0}]
用于稍后更新的JSON,即ID往返

[{"project":"java","name":"Development",id:100}, {"project":"C++","name":"Development",id:101}]

您当前的spring控制器是什么样子的?还有,您使用的前端堆栈(如果有的话)、jQuery、angular等?我的前端堆栈是jQuery。我不知道如何在Controlleri中接收此请求。表单上有一个很大的提交按钮,或者,当用户按下“AddNew”提交数组并在spring控制器中使用列表时,您是否希望后端在任何数据库中添加一行,请参阅example@Adam,如果用户每周在一个项目中执行一个或多个活动,他会单击“添加新”以获得每个活动的日志时间。我在jquery中生成该文本框,而不是在bd level中生成该文本框。我在加载时使用jstl生成该文本框,并在用户单击“添加新”时动态生成该文本框。我如何关联该名称是该项目,因为根据我的要求,一个项目可能会根据我的要求,取两行或更多行,单个项目包含更多活动,例如project:java活动:design项目:java活动:development。那么如何在controller中识别这个标准呢