`
Blithe
  • 浏览: 20770 次
  • 性别: Icon_minigender_1
  • 来自: 浙江嘉兴
社区版块
存档分类
最新评论

自己动手写一个struts1

阅读更多
不知道有没有人以前写过struts,以下是模仿struts1自己写的简易版
有兴趣的看看吧
主要的类1.有ActionConfig 读取 struts的配置文件
2.ActionFormUtil 根据界面传递过来的值设置到ActionForm相应的属性中
3.ActionServlet:ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。然后调用Action的execute()方法。
4.ActionForward:读取配置文件。跳转
5.测试文件在test目录下
引用

public static void FillForm(HttpServletRequest request,String className,String name){
try {
//实例化ActionForm
ActionForm form = (ActionForm) Class.forName(className).newInstance();
Enumeration enums = request.getParameterNames();//获取
Field[] fields = form.getClass().getDeclaredFields();
while(enums.hasMoreElements()){
String paramName = (String)enums.nextElement();
for(Field field:fields){
if(paramName.equals(field.getName())){
String value = request.getParameter(paramName);//获取request参数
try {
BeanUtils.setProperty(form, field.getName(), value);//设置Actionform中的属性
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
request.getSession().setAttribute(name, form);//保存到session
} 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();
}


}

具体祥见附件
3
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics