将Struts应用迁移到Struts 2(二) - 编程入门网
ss ViewBlogAction extends Action ... {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception ...{
BlogService service = new BlogService();
String id = request.getParameter("id");
request.setAttribute("blog",service.findById (Integer.parseInt(id)));
return (mapping.findForward("success"));
}
}
public class SaveBlogEntryAction extends Action ...{
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception ...{
BlogService service = new BlogService();
BlogForm blogForm = (BlogForm) form;
Blog blog = new Blog();
BeanUtils.copyProperties( blog, blogForm );
service.create( blog );
return (mapping.findForward("success"));
}
}
public class UpdateBlogEntryAction extends Action ... {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception ...{
BlogService service = new BlogService();
BlogForm blogForm = (BlogForm) form;
Blog blog = service.findById( Integer.parseInt (blogForm.getId()));
BeanUtils.copyProperties( blog, blogForm );
service.update( blog );
request.setAttribute("blog",blog);
return (mapping.findForward("success"));
}
}
将Struts应用迁移到Struts 2(二)(3)时间:2011-03-24这三个action都跟随着同一个模式: 产生一个新的业务逻辑对象实例 - 如前面所提到的,我们使用 最直接的方式在action中使用业务逻辑对象,这表示在每个action 中都会产生新的业务逻辑对象实例。 从请求中获得数据 - 这是两种形式之一。在view action 中,"id"是从HttpServletRequest 对象中直接获取的。而在 create 和 update action 中,则从ActionForm 中取值。 ActionForm 与 HttpServletRequest 的调用方式其实很相似,唯 一不同的ActionForm 是bean的从field中取值。 调用业务逻辑- 现在开始生成调用业务逻辑所需的参数并调用 逻辑。如果参数(在view action中)是一个简单对象类型,则转换 值时会自动转为正确的类型(如从String转到Integer)。如果参数 是复杂的对象类型,,则ActionForm 需要通过BeanUtil 来帮忙转 成相应的对象。 设定返回的数据 - 如果需要把数据返回显示给用户,那则要把 这个数据设在HttpServletRequest 的attribute 中返回。返回一 个 ActionForward - 所有 Struts action的最后都需要找到并返 回其相应的 ActionForward 对象. 最后的两个action,remove和list action, 只有很少的差别。 remove action如下所示,没有用BlogForm类. 通过从request的 attribute中获取"id"(和view action相似),就能调用业务逻辑完 成其需要的工作。在下面我们介绍配置时,你可以看到它并没有返 回任何数据,因为它的"success"返回结果其实是执行remove后再 执行了list action来返回信息的。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |