Struts新手问题!

来源:百度知道 编辑:UC知道 时间:2024/06/07 21:56:44
Struts中有ActionServlet,ActionForm,Action 三个部分

请达人详细的解说下这3个部分的作用,尤其是ActionForm的作用.

书上有个流程图 大概就是 浏览器发送请求到ActionServlet,然后由ActionServlet通过ActionForm再调用Action....,我看到这就想不明白了,为什么ActionServlet不能直接去调用Action方法?而是要通过ActionForm来调用?这个问题我一直都没整明白。。。。请高手详细的说明下 谢谢了!

ActionForm主要的作用是用来捕获前台传递来的参数,并进行相应的类型转换。
虽然你完全可以不用去写ActionForm,直接在Action中抓取参数,但是这样的话,你难免要进行参数的验证,和对应的类型转换。
那样的话,有些偏离MVC了,作为控制层的Action,他里面不应该有处理代码,尽可能只进行接受,转发的操作。

你看的哪本书 你应该误解书上的意思了
应该是ActionServlet查找(config配置文件内容都保存在ActionMapping对象中)与请求的url匹配的Action
然后再查找是否有与这个Action匹配的ActionForm
若有匹配的 则调用这个Action的execute()方法
建议你看看老孙的精通Struts 上面有详细的Struts执行流程