浏览 2759 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-11
主要是自己写了一个这样的方法: public static void setVOFromForm(HttpServletRequest request, Object model, String n) { try { Class class1 = model.getClass();//得到相应model的vo类 Method method1[] = class1.getMethods();//得到该vo类的全部方法 for(int i = 0; i < method1.length; i++) { String name = method1[i].getName();//得到当前方法的名字 if(name.startsWith("set"))//是否为set开始的方法,即是否是set方法 { Class cc[] = method1[i].getParameterTypes();//得到该方法的参数类型数组 if(cc.length == 1)//是否参数唯一 { String type = cc[0].getName();//得到参数类型 String param = request.getParameter(name.substring(3) + n);//当n=“”时,从request钟得到名字为该方法名第4位开始的字符串的变量值, if(param != null && !param.equals(""))//不为空或者null if(type.equals("java.lang.String"))//判断参数类型 method1[i].invoke(model, new Object[]{param});//将得到的变量值注入vo类model的方法method1[i] else if(type.equals("int") || type.equals("java.lang.Integer")) method1[i].invoke(model, new Object[]{new Integer(param)}); else if(type.equals("long") || type.equals("java.lang.Long")) method1[i].invoke(model, new Object[]{new Long(param)}); else if(type.equals("boolean") || type.equals("java.lang.Boolean")) method1[i].invoke(model, new Object[]{Boolean.valueOf(param)}); else if(type.equals("java.sql.Date")) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); java.util.Date d = df.parse(param); if(d != null) method1[i].invoke(model, new Object[]{new Date(d.getTime())}); } } } } } catch(Exception e) { e.printStackTrace(); } } 用的时候这样用就可以了: RsemployeecheckVO ecvo = new RsemployeecheckVO(); DaoUtil.setVOFromForm(request, ecvo, ""); //将数据封装入ecvo中 jsp页面也和struts一样,需要变量名与bean中的变量名一致并且首字母大写: <table width="80%" border="1" align="center" bordercolor="#000000" id="tblContent"> <tr> <td width="14%"><div align="center">单位</div></td> <td colspan="3"><input name="Unit" value="<%=PageUtil.filterNull(tivo.getUnit())%>" type="text" size="15"></td> <td width="14%"><div align="center">姓名</div></td> <td ><input name="Name" type="text" value="<%=PageUtil.filterNull(tivo.getName())%>" size="10"></td> </tr> <tr> <td><div align="center">工伤结案</div></td> <td colspan="5"><textarea name="Injury_end" cols="40"><%=PageUtil.filterNull(tivo.getInjury_end())%></textarea></td> </tr> <tr> <td><div align="left">事故原因分析情况</div></td> <td colspan="5"><textarea name="AccidentAnalysis" cols="40"><%=PageUtil.filterNull(tivo.getAccidentAnalysis())%></textarea></td> </tr> <tr> <td>事故责任者受教育情况</td> <td colspan="5"><textarea name="AccidentEducation" cols="40"><%=PageUtil.filterNull(tivo.getAccidentEducation())%></textarea></td> </tr> <tr> <td>单位对事故处理情况(附:现场图,调查分析会议记录,报告书,处理决定)</td> <td colspan="5"><textarea name="AccidentDealing" cols="40" rows="5"><%=PageUtil.filterNull(tivo.getAccidentDealing())%></textarea></td> </tr> <tr> <td>防范措施落实情况</td> <td colspan="5"><textarea name="Carryingout" cols="40" rows="2"><%=PageUtil.filterNull(tivo.getCarryingout())%></textarea></td> </tr> </table> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |