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

动态组件生成和提交
有一个表里面 三个字段:组件id、组件名称、组件类型(暂定时间、日期、文本、文本域类型)

需求1:把这个表按照控件类型显示在页面jsp上
需求2:把jsp页面中的控件类型值提取到action中

用struts2实现,谢谢各位

------解决方案--------------------
对查询结果进行判断
------解决方案--------------------
第一个就是sql查询,关键字group by,按空间类型分组
第二个不就是前段传值到后台么,代码不写了,这么简单,不行就看看struts2知识
------解决方案--------------------
版主们都说了很详细了呀第一个就是sql语句 根据你的组件类型group by 第二个就是获取页面值传入了,你这里用struts2就直接用from表单提交就OK了
------解决方案--------------------
引用:
第一个就是sql查询,关键字group by,按空间类型分组
第二个不就是前段传值到后台么,代码不写了,这么简单,不行就看看struts2知识

第一个就是个查询呈现。
第二个传值,用struts2的set、get方法或者request.getParamernate("");
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

第一个就是sql查询,关键字group by,按空间类型分组
第二个不就是前段传值到后台么,代码不写了,这么简单,不行就看看struts2知识

第一个就是个查询呈现。
第二个传值,用struts2的set、get方法或者request.getParamernate("");


第一个我基本能做出来,
第二个怎么传到后台我就不太明白了,控件是动态的,多少个是不知道,用定义变量的方式去set、get方法是不行的。
你每个控件都有name属性,name的命名可以是例如:list[0]、list[1]这样,然后后台可以用List数组来接收。
------解决方案--------------------
request.getParameterMap();获取到的map应该全包含了控件的name 和value
------解决方案--------------------

var controls = document.getElementsByTagName("*");
 var iEach;

 for (iEach in controls) {
  if ( controls[iEach].type == "text") {   
  }else if (..){
  }else if (..){
  }else{
  }
遍历页面找出所需的控件封装成对象放到一个List传到后台,后台做相应的解析处理就可以了。

------解决方案--------------------
楼主的目的是什么呢? 
从一个控件表中读取数据,构建页面控件,在页面中填入数据,提取控件中的数据给action。
是不是,控件表与要提取的数据的数据表有主外键关联?
有的话,那提交到的action中实体对象的类型就能确定了。