首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

关于解决页面N多表单元素的有关问题

2012-10-28 
关于解决页面N多表单元素的问题有时一个表单有很多文本框,多选框 下拉框只类的 如果一共有30个表单元素 那

关于解决页面N多表单元素的问题
有时一个表单有很多文本框,多选框 下拉框只类的 如果一共有30个表单元素 那我们岂不是要在bean里面定义30个属性 及其get set 方法?
有没什么方法无需定义属性及其get set方法呢 有!

//bean 里面的代代码
public static final String PARAM_PREFIX = "parameter.";
private Map parameter;

private Map createParameterMap(String paramPrefix){
Map result = new HashMap();
HttpServletRequest request = getRequest();
for(Enumeration en = request.getParameterNames();en.hasMoreElements();){
String key = en.nextElement().toString();
if(!key.startsWith(PARAM_PREFIX)) continue;
String value = request.getParameter(key);

String[] keys = StringUtils.split(".");
result.put(keys[1],value);
}
return result;
}

public Map getParameter() {
if(parameter != null)
return parameter;
return createParameterMap(PARAM_PREFIX);
}

public void setParameter(Map parameter) {
this.parameter = parameter;
}

//test.jsp

<html:form action="/query">
  <table>
  <tr>
  <th>text1 :</th><td><html:text property="parameter.userName"></html:text></td>
  <th>text2 :</th><td><html:text property="parameter.password"></html:text></td>

  </tr>
  <tr><td><html:submit>提交</html:submit></td></tr>
    </table>
    </html:form>
1 楼 抛出异常的爱 2007-11-07   把数据放到map里会非常的不爽。。。。 2 楼 大力水手 2007-11-07   如果是struts+spring+ibatis
这样将会节省很多时间的
如果要直接获得一个map
Map map = getParameter();
如果要获得其中某个元素的值 String value = map.get(param).toString();
这样还不够方便吗 如果是使用ibatis 将更加方便 直接将map 传递给ibatis

呵呵 我也才用java不久 有什么更好的方法 大家一起探讨哈 3 楼 抛出异常的爱 2007-11-08   大力水手 写道如果是struts+spring+ibatis
这样将会节省很多时间的
如果要直接获得一个map
Map map = getParameter();
如果要获得其中某个元素的值 String value = map.get(param).toString();
这样还不够方便吗 如果是使用ibatis 将更加方便 直接将map 传递给ibatis

呵呵 我也才用java不久 有什么更好的方法 大家一起探讨哈

当一个参数与另一个参数同名。。。
当一个参数与另一个参数名子很近
当一个参数被记成另一个参数
我3年前用过这种方式。。。开发速度比找错速度。。。非常的不合算。 4 楼 大力水手 2007-11-08   同一个页面中不应该有同名的参数
一个参数与另一个参数名子很近也没关系啊 只要不一样就行了
一次提交就会产生一个map 这样也不存在冲突啊
5 楼 抛出异常的爱 2007-11-08   大力水手 写道同一个页面中不应该有同名的参数
一个参数与另一个参数名子很近也没关系啊 只要不一样就行了
一次提交就会产生一个map 这样也不存在冲突啊

理论上好的东西。。。用用试试。。。

热点排行