Struts ActionFrom 原理 实现
2012-09-26 14:40
176 查看
原理
上图:
简单实现:
上图:
简单实现:
package com.vili.wems.web.webservice.ma.information; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; import org.apache.commons.beanutils.BeanUtils; import org.apache.struts.action.ActionForm; public class FormUtils { public static void fillForm(HttpServletRequest request,String formFullClassName,String formName){ try { //1.利用JAVA的反射机制获得当前传进来的BEAN对象 ActionForm form =(ActionForm)Class.forName(formFullClassName).newInstance(); PropertyDescriptor[] properties = Introspector.getBeanInfo(form.getClass()).getPropertyDescriptors(); //2.取得页面中的传递元素 Enumeration formParameters = request.getParameterNames(); //3.遍历元素 while(formParameters.hasMoreElements()){ String parameterName = (String)formParameters.nextElement(); for(PropertyDescriptor property:properties){ String properyName = property.getName(); //4.比较两个对象的名称是否相等,如果相等则填充FORM if(parameterName.equals(properyName)) { String propertyValue = request.getParameter(properyName); BeanUtils.setProperty(form, properyName, propertyValue); } } } //5.保存填充好的对象 request.getSession().setAttribute(formName, form); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IntrospectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- 关于Struts 2 拦截器参数丢失问题 ,拦截器原理和实现
- struts2.3.15之拦截器原理与实现
- 通过Struts实现计算器来学习ActionFrom和Action.
- 【struts1】——基本实现原理
- Struts 框架的基本概念及实现MVC模式的原理
- Struts1—从BeanUtils看struts的实现原理3(自定义BeanUtils的转换器)
- 读书笔记(七)--Struts技术内幕-深入解析Struts架构设计与实现原理
- struts实现原理
- Struts1——从BeanUtils看struts的实现原理1
- Struts2 框架的简单实现——轻松理解Struts原理
- 深入解析struts.xml配置的实现原理
- struts异常声明机制的实现和原理
- Struts 2 拦截器底层实现原理 学习笔记
- Struts拦截器实现原理
- Struts1——从BeanUtils看struts的实现原理2
- struts拦截器的原理与实现
- struts2--(4)---深入解析struts.xml配置的实现原理
- struts2.3.15之拦截器原理与实现
- 深入解析struts.xml配置的实现原理
- Struts1——从BeanUtils看struts的实现原理2