Text Struts2:将输入数组读入操作

Text Struts2:将输入数组读入操作,text,input,struts2,Text,Input,Struts2,我试图在action类中获取一个输入数组,但它总是返回null 下面是输入的HTML <input class="activityInput" type="text" name="sentdate[" + i + "]" value="1" /> <input class="activityInput" type="text" name="sentdate[" + i + "]" value="2" /> 我做错了什么?它是不是已经开始行动了?我建议使用像Fiddler

我试图在action类中获取一个输入数组,但它总是返回null

下面是输入的HTML

<input class="activityInput" type="text" name="sentdate[" + i + "]" value="1" />
<input class="activityInput" type="text" name="sentdate[" + i + "]" value="2" />

我做错了什么?

它是不是已经开始行动了?我建议使用像Fiddler或IBM Page Detailer这样的HTTP监听器,这样您就可以看到发送到服务器的内容(如果有的话)

它甚至可以参加比赛吗?我建议使用像Fiddler或IBM Page Detailer这样的HTTP监听器,这样您就可以看到发送到服务器的内容(如果有的话)
Enumeration parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()) {
  String currentParameterName = (String) parameterNames.nextElement();
  String[] values = request.getParameterValues(currentParameterName);
  for (String value : values) {
    logger.debug("Parameter " + currentParameterName + " has value " + value);
  } 
}
我认为如果在示例中使用真正的HTML会更好。“+i+”的东西
不是HTML,我无法从这里看到如何将其呈现为HTML。它可能是正确的,但是我更喜欢看到浏览器看到的HTML代码。

< P>请考虑在你的动作中的调试语句,看看你得到了什么。我在想,在你行动的顶端:

Enumeration parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()) {
  String currentParameterName = (String) parameterNames.nextElement();
  String[] values = request.getParameterValues(currentParameterName);
  for (String value : values) {
    logger.debug("Parameter " + currentParameterName + " has value " + value);
  } 
}
我认为如果在示例中使用真正的HTML会更好。“+i+”的东西
不是HTML,我无法从这里看到如何将其呈现为HTML。这可能没问题,但我更喜欢看到浏览器看到的HTML代码。

您应该使用标记。

您应该使用标记。

您不应该需要方括号

<s:textfield name"sentdate" value="1" />
<s:textfield name"sentdate" value="2" />

将呈现以下html

<input type="text" name="sentdate" value="1" />
<input type="text" name="sentdate" value="2" />


这将填充您操作的“sentdate”列表。

您不需要方括号

<s:textfield name"sentdate" value="1" />
<s:textfield name"sentdate" value="2" />

将呈现以下html

<input type="text" name="sentdate" value="1" />
<input type="text" name="sentdate" value="2" />


这应该填充操作的“sentdate”列表。

Struts应该填充列表,但不要:) 这个问题的更好解决方案是在Struts操作类属性中使用String而不是List。 如果您提交表格时

<input type="text" name="sentdate" value="1" />
<input type="text" name="sentdate" value="2" />

您将在“private String sentdate”中重新设定:1,2
您可以使用逗号分隔符拆分此字符串,并给出列表。

Struts应该填充列表,但不:) 这个问题的更好解决方案是在Struts操作类属性中使用String而不是List。 如果您提交表格时

<input type="text" name="sentdate" value="1" />
<input type="text" name="sentdate" value="2" />

您将在“private String sentdate”中重新设定:1,2
您可以使用逗号分隔符拆分此字符串,并给出列表。

正如Stanimir所说,即使不需要“value”属性。只需发送具有相同名称的参数就足够了。在服务器端,我们将获得字符串列表。

正如Stanimir所说,即使“value”属性也不是必需的。只需发送具有相同名称的参数就足够了。在服务器端,我们将得到字符串列表。

hLOL。这是我的问题。我忘了把“+I+”改成“+I+”哈哈。这就是我的问题。我忘了把“+I+”改成“+I+”