日期:2014-05-18  浏览次数:20805 次

100分!问2个struts的问题!
问题一:页面上面的数据要求批量插入,textbox框由JavaScript的insertCell和insertRow自动生成。当然也可以用deleteRow自动删除。这样的textbox框在Form中如何表示?在Action中如何得到数据?

问题二:如何在Struts中控制页面控件的style属性?

谢谢各位大哥!问题如果能得到有效的解决,马上结贴!

------解决方案--------------------
1 在插入的时候用同一个名字(比如,一列是一个名字。),在form中对应成数组,
action中直接取form就可以了
  
2 控制style属于控制页面,可以用js做。比如叶面初始化时。
------解决方案--------------------
直接用js生成text文本框,取一致的名字,假设为name,然后再action中取
Map parms = request.getParameterMap();
String values[] = null;
Iterator i = parms.keySet().iterator();
while(i.hasNext()){
paramName = (String) i.next();
if(key.equals( "method ")){

}else{
values = request.getParameterValues(paramName);
for(int j=0;j <values.length;j++){
System.out.println(values[j]);
}
}
}

style用js来控制就OK了
如今想挣个分布容易啊
------解决方案--------------------
1,楼上正解,你生成的时候都要有名字的,有名字就好办事了..
肯定是要有限制性的,如只准生成10个,在FORM中就定义10个:TEXTBOX1.....TEXTBOX10.
2,从FORM转到页面时,用JS就好了..
------解决方案--------------------
问题一:页面上面的数据要求批量插入,textbox框由JavaScript的insertCell和insertRow自动生成。当然也可以用deleteRow自动删除。这样的textbox框在Form中如何表示?在Action中如何得到数据? 

textbox框在Form中如何表示,这个你都自动生成了与如何表示没有什么关系吧。
既然批量插入,应该是指多组同结构的数据,后台对应多条同结构的sql,你前台生成textbox,也只可能是多个不同name的(不过说到这里的,你的问题其实自我矛盾),既然这样,那么action中取数据你就直接循环从parameter中或者querystring中取出来就是了(页面a1,a2,action中a*的算做一个集合)

问题二:style我不是非常清楚,css我也不懂,但是估计style也有可能是个变量
但是从另一个角度来说,你的需求非常之独特!
------解决方案--------------------
1. 可不可以用ArrayList 实现,如果不行只能用数组了,...
2. 可以在struts设定特定的值,然后在页面中根据特定的值进行变化,或者选择, 这样想的,呵呵

------解决方案--------------------
如果说表单不确定的话还是用下面的方法好些,看新浪的调查,每个表单都不同,但都是连到同一个php来处理,那么用下面的方法是最好的
Map parms = request.getParameterMap();
String values[] = null;
Iterator i = parms.keySet().iterator();
while(i.hasNext()){
paramName = (String) i.next();
if(key.equals( "method ")){

}else{
values = request.getParameterValues(paramName);
for(int j=0;j <values.length;j++){
System.out.println(values[j]);
}
}

至于style就写function changeStyle(targetId){
var target = document.getElementById(targetId);
target.className="yourclass";
}
.yourclass{
....
}