论坛首页 入门技术论坛

直接在Action中返回forward不好么

浏览 3754 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2008-07-08  
如果在配置文件中写Action执行完的跳转的路径,那么在编写Action Java代码的时候还需要切换至配置文件才能知道action转向那个页面,直接写在Action中不好么?
依照这种并且结合struts1,struts2的零配置,已经在多个项目中应用,也没发现问题


struts1中我的做法是
	public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
	         //......
		return new ActionForward("/demo/Blog/edit.jsp");
	}

struts1中自己另外做了扩展,可以将action的name作为formBean的配置,整个项目的struts-config配置只有下面这么一段话,path举例/admin/User/delete.do
	<action-mappings>
		<action path="/*/*/*"
			type="com.kingsoft.{1}.web.action.{2}Action"
			name="com.kingsoft.{1}.web.form.{2}Form" scope="request"
			validate="false" parameter="{3}" attribute="{2}Form">
		</action>
	</action-mappings>




struts2中自己另外做了扩展,实现forward的做法是
	/**进入更新页面*/
	public String edit() {
		blog = (Blog)blogManager.getById(id);
		return "/demo/Blog/edit.jsp";
	}


struts2中实现redirect的做法是,前面增加了一个"!"号
	/**保存更新*/
	public String update() {
		blogManager.update(this.blog);
		return "!/demo/Blog/list.action";
	}


struts2增加了direct的返回类型,struts.xml配置也只有一段话
    <package name="default" namespace="/demo" extends="custom-default">
        <action name="*/*" method="{2}" class="com.kingsoft.demo.action.{1}Action">
           <result name="*" type="direct">通过Action直接返回</result>
        </action>		
    </package>


   发表时间:2008-07-08  
你可以直接看看Struts有多少种Result Type。如果你不用那些Result,这么写也没有什么问题。
0 请登录后投票
   发表时间:2008-07-08  
晕,转入门区了.
0 请登录后投票
   发表时间:2008-07-18  
嘿嘿,如果搞不明白,想想为什么你要用struts呢?
0 请登录后投票
   发表时间:2008-10-24  
用spring MVC呢?
0 请登录后投票
   发表时间:2009-06-03  
配置在xml文件中,是假设 项目跳转路径是有可能变化的……问题是在实际项目中这种返回路径变化的情况很少,因此直接硬编码也是可行的。
1 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics