Javascript 如何在Struts 1中映射和读取动态表单条目?
我将跟随这篇文章在Struts1中创建动态表单。到目前为止,我已经在ActionForm中设置了hashmaps,以便在输入时读取这些数据:Javascript 如何在Struts 1中映射和读取动态表单条目?,javascript,java,struts,Javascript,Java,Struts,我将跟随这篇文章在Struts1中创建动态表单。到目前为止,我已经在ActionForm中设置了hashmaps,以便在输入时读取这些数据: public int getCount2() { return count2; } public void setCount2(int count) { this.count2 = count2; } public Map getChildObjects(){ re
public int getCount2() {
return count2;
}
public void setCount2(int count) {
this.count2 = count2;
}
public Map getChildObjects(){
return childObjects;
}
public void setChild(String key, Object child){
childObjects.put(key, child);
}
public Object getChild(String key){
return childObjects.get(key);
}
我已经在JSP函数中设置了这个映射的键和值
var elementCount = parseInt(document.getElementById("count2").value);
var textFirstName = document.createElement("input");
...
textFirstName.setAttribute("name","childObjects(FirstName"+ elementCount +")");
...
我在HTML中声明了隐藏字段“Count2”,在加载页面时没有出现JSP错误或添加这些文档元素时出现任何问题,但是当我尝试读取表单数据时,即使在填写这些变量时,映射返回为空
如何将这些数据读入地图,然后在提交操作时将其读回 我浏览了这个示例,但不明白如何将不同的命名DOM元素分配给具有单个名称的HashMap,例如,如果有:
<input type="text" name="name1" />
<input type="text" name="name2" />
尝试这样做:
childObjects[elementCount];
将()替换为[]
,并删除firstName
前缀和索引
它应该按名称childObjects
将其分配给HashMap
这在Struts2中起作用。假设它也可以在struts 1中工作。如果这样做,那么如果使用键控hashmap,应该如何识别每个输入值?
childObjects(FirstName"+ elementCount +");
childObjects[elementCount];