`
badqiu
  • 浏览: 674544 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

直接在Action中返回forward不好么

    博客分类:
  • Java
阅读更多
如果在配置文件中写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>


分享到:
评论
5 楼 littleJava 2009-06-03  
配置在xml文件中,是假设 项目跳转路径是有可能变化的……问题是在实际项目中这种返回路径变化的情况很少,因此直接硬编码也是可行的。
4 楼 Arno 2008-10-24  
用spring MVC呢?
3 楼 imauto 2008-07-18  
嘿嘿,如果搞不明白,想想为什么你要用struts呢?
2 楼 badqiu 2008-07-08  
晕,转入门区了.
1 楼 downpour 2008-07-08  
你可以直接看看Struts有多少种Result Type。如果你不用那些Result,这么写也没有什么问题。

相关推荐

    关于action 不能用forward的问题

    在探讨“关于action不能用forward的问题”这一主题时,我们主要关注的是在Struts2框架中如何正确地使用forward机制来实现页面跳转,并解决在实际应用过程中遇到的相关问题。 ### Struts2框架简介 Struts2是基于MVC...

    ActionForward与ForwardAction的功能

    在Action类中,execute()方法根据业务逻辑返回一个ActionForward对象,如: ```java public class LoginAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, ...

    struts1直接跳转到jsp-无action的url

    4. **使用JSP的隐式对象request或session**:在Servlet或者JSP中,可以将数据放入request或session,然后在JSP页面上直接访问这些数据,绕过Action。 需要注意的是,不使用Action处理请求虽然可能简化流程,但也...

    Struts中action技术实现对数据的增删改查

    JSP页面会将用户输入提交给Action,接收Action返回的结果并展示。 **转发和重定向**: 在Action执行完成后,通常会使用`ActionForward`或Struts2的Result来决定后续的页面流向。`success`通常对应成功处理后的页面...

    一个struts的action跳转大全

    这里需要注意的是,在第一个Action中,表单验证成功后,会通过`forward`元素跳转到第二个Action处理类`somePackage.someOtherActionClass`。而在第二个Action中,又会根据处理结果决定最终显示的页面。 6. **Action...

    Action名称的搜索顺序

    在Struts2框架中,Action的配置与执行流程至关重要,它不仅决定了Action的执行顺序,还影响着业务逻辑的处理方式及结果展示。本文将深入探讨Action名称的搜索顺序、Action配置的默认值以及Action中Result的不同结果...

    web_xml中ActionServlet中的属性

    11. **forward**: 指定ActionForward实现的Java类名,现在已经不推荐,应在每个`&lt;forward&gt;`元素中使用`class-name`属性配置。 12. **locale**: 如果设为`true`,会在用户会话中存储一个`java.util.Locale`对象,以...

    我的笔记:Struts构架中action的跳转大全

    在Struts框架中,Action是处理用户请求的核心组件之一,它负责业务逻辑的执行以及决定下一个页面的显示。下面将详细解析几种不同类型的Action跳转方式。 ### 1. 基本Action 基本Action定义了路径、类型、表单、...

    Struts1.x_action

    执行execute方法时,Action会根据请求参数和业务逻辑来处理请求,并返回一个表示结果的ActionForward对象,这个对象指示Struts框架如何导航到下一个页面或资源。 1. **ActionForm**:在Struts1.x中,ActionForm是...

    J2EE_高级Action

    - **定义**:`DispatchAction`是Struts框架提供的一种特殊的`Action`实现,它可以在一个Action中根据不同的请求参数执行不同的方法。 - **应用场景**:当一个页面需要通过同一个Action处理多种类型的请求时,可以...

    Struts高级部分(2)(常用Action、验证框架、动态Form

    开发者可以在struts-config.xml配置文件中定义ActionForward,或者在Action类中动态返回ActionForward对象。 3. **ActionForm**:ActionForm是用于收集用户输入数据的类,它可以绑定到HTML表单字段。ActionForm通过...

    Struts开发中有哪几个关键对象

    Action在完成业务逻辑后,会返回一个ActionForward对象,ActionServlet依据这个对象的路径属性来决定将响应转发到哪个页面或资源上。 这五个关键对象共同协作,形成了Struts框架的核心工作流程,使得开发者可以轻松...

    webwork2.2.7在action中利用commons-fileupload.jar进行上传或直接读取文件流的配置与源代码及实例详解

    在这个教程中,我们将探讨如何在WebWork 2.2.7的Action中利用Apache Commons FileUpload库来实现文件上传功能,并处理文件流。Apache Commons FileUpload是一个强大的库,专门用于处理HTTP请求中的多部分/表单数据,...

    struts1和struts2的区别

    首先,从ActionForStruts2可以看出,返回的对象不是ActionForward,而是String。如果你不喜欢以字符串的形式出现在你的代码中,有个Helper接口Action可以以常量方式提供常见结果,如“success”、“none”、“error...

    struts1跳转大全

    在这种模式下,ActionServlet接收到请求后,会直接调用action类的`execute()`方法,然后根据`execute()`方法返回的ActionForward对象,查找配置中的forward,从而决定跳转到哪个页面或执行哪个action。 ### 仅有JSP...

    struts1.x 和 struts2.x向Action里填充jsp参数原理

    最后,Action返回一个ActionForward对象,Dispatcher根据这个对象决定转发到哪个JSP页面显示结果。 Struts1中向Action填充JSP参数的过程: 1. 用户在JSP页面填写表单并提交。 2. 请求到达ActionServlet,Action...

    Struts登陆录象

    在Struts的配置文件(通常为struts-config.xml)中,我们需要声明ActionForm、Action和相关的ActionForward。配置文件告诉Struts哪些URL请求应该映射到哪个Action,以及登录成功或失败后应显示哪个JSP页面。 视图...

    struts+ibatis 完整sample,可直接运行

    Struts是一个MVC(Model-View-Controller)框架,主要用于构建Web应用程序,而iBatis则是一个SQL映射框架,它允许开发者将SQL语句直接写在配置文件中,与Java代码分离,提高了数据库操作的灵活性和可维护性。...

    struts2中result类型之redirectAction

    在Struts2中,Result是Action执行后控制流程的重要组件,它定义了Action执行完毕后如何转发或重定向到一个新的页面。"redirectAction"是Struts2中的一种Result类型,专门用于实现HTTP级别的重定向。 重定向是一种...

Global site tag (gtag.js) - Google Analytics