如果在配置文件中写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 22:03
- 浏览 2449
- 评论(5)
- 论坛回复 / 浏览 (5 / 3779)
- 查看更多
相关推荐
在探讨“关于action不能用forward的问题”这一主题时,我们主要关注的是在Struts2框架中如何正确地使用forward机制来实现页面跳转,并解决在实际应用过程中遇到的相关问题。 ### Struts2框架简介 Struts2是基于MVC...
在Action类中,execute()方法根据业务逻辑返回一个ActionForward对象,如: ```java public class LoginAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, ...
4. **使用JSP的隐式对象request或session**:在Servlet或者JSP中,可以将数据放入request或session,然后在JSP页面上直接访问这些数据,绕过Action。 需要注意的是,不使用Action处理请求虽然可能简化流程,但也...
JSP页面会将用户输入提交给Action,接收Action返回的结果并展示。 **转发和重定向**: 在Action执行完成后,通常会使用`ActionForward`或Struts2的Result来决定后续的页面流向。`success`通常对应成功处理后的页面...
这里需要注意的是,在第一个Action中,表单验证成功后,会通过`forward`元素跳转到第二个Action处理类`somePackage.someOtherActionClass`。而在第二个Action中,又会根据处理结果决定最终显示的页面。 6. **Action...
在Struts2框架中,Action的配置与执行流程至关重要,它不仅决定了Action的执行顺序,还影响着业务逻辑的处理方式及结果展示。本文将深入探讨Action名称的搜索顺序、Action配置的默认值以及Action中Result的不同结果...
11. **forward**: 指定ActionForward实现的Java类名,现在已经不推荐,应在每个`<forward>`元素中使用`class-name`属性配置。 12. **locale**: 如果设为`true`,会在用户会话中存储一个`java.util.Locale`对象,以...
在Struts框架中,Action是处理用户请求的核心组件之一,它负责业务逻辑的执行以及决定下一个页面的显示。下面将详细解析几种不同类型的Action跳转方式。 ### 1. 基本Action 基本Action定义了路径、类型、表单、...
执行execute方法时,Action会根据请求参数和业务逻辑来处理请求,并返回一个表示结果的ActionForward对象,这个对象指示Struts框架如何导航到下一个页面或资源。 1. **ActionForm**:在Struts1.x中,ActionForm是...
- **定义**:`DispatchAction`是Struts框架提供的一种特殊的`Action`实现,它可以在一个Action中根据不同的请求参数执行不同的方法。 - **应用场景**:当一个页面需要通过同一个Action处理多种类型的请求时,可以...
开发者可以在struts-config.xml配置文件中定义ActionForward,或者在Action类中动态返回ActionForward对象。 3. **ActionForm**:ActionForm是用于收集用户输入数据的类,它可以绑定到HTML表单字段。ActionForm通过...
Action在完成业务逻辑后,会返回一个ActionForward对象,ActionServlet依据这个对象的路径属性来决定将响应转发到哪个页面或资源上。 这五个关键对象共同协作,形成了Struts框架的核心工作流程,使得开发者可以轻松...
在这个教程中,我们将探讨如何在WebWork 2.2.7的Action中利用Apache Commons FileUpload库来实现文件上传功能,并处理文件流。Apache Commons FileUpload是一个强大的库,专门用于处理HTTP请求中的多部分/表单数据,...
首先,从ActionForStruts2可以看出,返回的对象不是ActionForward,而是String。如果你不喜欢以字符串的形式出现在你的代码中,有个Helper接口Action可以以常量方式提供常见结果,如“success”、“none”、“error...
在这种模式下,ActionServlet接收到请求后,会直接调用action类的`execute()`方法,然后根据`execute()`方法返回的ActionForward对象,查找配置中的forward,从而决定跳转到哪个页面或执行哪个action。 ### 仅有JSP...
最后,Action返回一个ActionForward对象,Dispatcher根据这个对象决定转发到哪个JSP页面显示结果。 Struts1中向Action填充JSP参数的过程: 1. 用户在JSP页面填写表单并提交。 2. 请求到达ActionServlet,Action...
在Struts的配置文件(通常为struts-config.xml)中,我们需要声明ActionForm、Action和相关的ActionForward。配置文件告诉Struts哪些URL请求应该映射到哪个Action,以及登录成功或失败后应显示哪个JSP页面。 视图...
Struts是一个MVC(Model-View-Controller)框架,主要用于构建Web应用程序,而iBatis则是一个SQL映射框架,它允许开发者将SQL语句直接写在配置文件中,与Java代码分离,提高了数据库操作的灵活性和可维护性。...
在Struts2中,Result是Action执行后控制流程的重要组件,它定义了Action执行完毕后如何转发或重定向到一个新的页面。"redirectAction"是Struts2中的一种Result类型,专门用于实现HTTP级别的重定向。 重定向是一种...