请教一下Struts1.2中的小问题关于这个代码中有几句不太明白,请给我解释一下吧,谢谢。Java codepackage acti
请教一下Struts1.2中的小问题
关于这个代码中有几句不太明白,请给我解释一下吧,谢谢。
Java codepackage action;import javax.servlet.http.*;import org.apache.struts.action.*;import actionform.*;public class UpdateNewsAction extends Action { public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) { NewsForm updateNewsForm=(NewsForm)form; // 这句什么意思,写具体点啦,谢谢。 try { UpdateNews news= new UpdateNews(updateNewsForm); // 这句什么意思 news.update(); request.setAttribute("update","修改成功!"); } catch(Exception e) { request.setAttribute("update",e.getMessage()); } return mapping.findForward("update"); }}
[解决办法]NewsForm updateNewsForm=(NewsForm)form;
页面的提交过来的表单 转换成 NewsForm 表单 这样就可以通过 NewsForm里的get方法取得对应的值
UpdateNews news= new UpdateNews(updateNewsForm);
new UpdateNews 这是一个构造方法 参数是NewsForm
你可以点进去看看源码 应该是 把表单里值 赋值给 一个新UpdateNews 这个对象
[解决办法] NewsForm updateNewsForm=(NewsForm)form; 获取你提交的表单,将你提交的表单转换为你定义的NewsForm
UpdateNews news= new UpdateNews(updateNewsForm); 这个要看你的UpdateNews的构造函数是怎么写的了
[解决办法] NewsForm updateNewsForm=(NewsForm)form;
是将前台提交的表单中的数据取出来set到你NewsForm中对应的属性当中,
UpdateNews news= new UpdateNews(updateNewsForm);
是调用UpdateNews的public UpdateNews(NewsForm newsForm){}的构造函数,
[解决办法]strus1 中有个ActionForm的概念,每个页面的一个<form action="" method=""/></form>都对应的有个ActionForm,就是用来装页面的表单中的值的,
NewsForm updateNewsForm=(NewsForm)form;这句就是得到你的ActionForm
为了让代码不具有侵入性,所以自己又写了一个javabean,也就是这个UpdateNews类,通过构造方法,把ActionForm中的值set到UpdateNews的对象中,用来跟业务层传递,希望对你有帮助!
[解决办法]