关于解决页面N多表单元素的问题
有时一个表单有很多文本框,多选框下拉框只类的如果一共有30个表单元素那我们岂不是要在bean里面定义30个属性及其getset方法?
有没什么方法无需定义属性及其getset方法呢有!
//bean里面的代代码
publicstaticfinalStringPARAM_PREFIX="parameter.";
privateMapparameter;
privateMapcreateParameterMap(StringparamPrefix){
Mapresult=newHashMap();
HttpServletRequestrequest=getRequest();
for(Enumerationen=request.getParameterNames();en.hasMoreElements();){
Stringkey=en.nextElement().toString();
if(!key.startsWith(PARAM_PREFIX))continue;
Stringvalue=request.getParameter(key);
String[]keys=StringUtils.split(".");
result.put(keys[1],value);
}
returnresult;
}
publicMapgetParameter(){
if(parameter!=null)
returnparameter;
returncreateParameterMap(PARAM_PREFIX);
}
publicvoidsetParameter(Mapparameter){
this.parameter=parameter;
}
//test.jsp
<html:formaction="/query">
<table>
<tr>
<th>text1:</th><td><html:textproperty="parameter.userName"></html:text></td>
<th>text2:</th><td><html:textproperty="parameter.password"></html:text></td>
</tr>
<tr><td><html:submit>提交</html:submit></td></tr>
</table>
</html:form>