struts控制器中使用new ActionForward和mapping.findForward的区别
request.setAttribute("list", new Integer(0));
return new ActionForward("/success.jsp");
request.setAttribute("list", new Integer(0));
return mapping.findForward("fail");
当使用 return new ActionForward("/success.jsp");的时候相当于还是同一个request请求,所以可以携带参数setAttribute过去。
无论 <forward
name="succ"
path="/success.jsp"
redirect="true" />//无论此处的redirect是true还是false。
当使用 return mapping.findForward("fail");的时候如果 redirect="true",相当于还是另外一个request请求,所以不能携带参数setAttribute过去。
要想还是使用同一个request,获取到参数,则把
<forward
name="succ"
path="/success.jsp"
redirect="false" />//此处的redirect改为false。另外,此处不设置的话默认redirect="false"。
无论在任何情况下使用
request.getSession().setAttribute("a", "sssss");都可以传递参数。
在页面处获取 <%=request.getSession().getAttribute("a")%>
另外,使用new ActionForward时候地址栏不会出现jsp页面,当使用session携带参数的时候会显示sessionid在地址栏,和使用mapping.findForward当redirect改为false时候效果一样。
使用mapping.findForward的时候并且redirect是true时候效果,地址栏如 http://localhost:8087/struts/fail.jsp
分享到:
相关推荐
ActionForward 在 Struts 框架中扮演了连接控制器和视图的关键角色,它允许开发者定义用户请求处理后的跳转路径。通过合理配置和使用 ActionForward,我们可以构建出灵活且易于维护的 Web 应用。理解和掌握 Action...
4. **处理响应**:每个方法执行完毕后,通常会返回一个ActionForward对象,指示Struts控制器如何转发请求到相应的视图(JSP页面)。 通过DispatchAction,我们可以将复杂的业务逻辑分解成多个小的、易于管理和测试...
在Java Web开发中,Struts1.x框架是一个广泛使用的MVC(Model-View-Controller)框架,它提供了处理用户请求、业务逻辑和视图展示的能力。在Struts1.x中,实现文件上传功能是一个常见的需求,特别是在处理用户提交的...
理解ActionForward的作用,掌握如何在`struts-config.xml`中配置和在Action类中使用ActionForward。对于ForwardAction,需要理解其在JSP页面中的应用,以及如何通过它来实现页面的局部转发。 **总结** Action...
一个struts入门的简单流程图。 next1: 根据你提交表单的申请JSP服务器容器把HelloWorld.do映射到<servlet-mapping> next2: JSP服务器容器把... 关联: mapping.findForward()方法调用<action-mappings>的<forward>
public ActionForward upLoadFile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionForward forward = null; Date date = new...
1. **Action(控制层)**:Action是Struts中的控制器,负责处理来自客户端的请求,执行相应的业务逻辑,并决定应用的流向。Action类需继承自`org.apache.struts.action.Action`类,并重写`execute`方法。该方法接收...
本文将深入探讨Struts Action的配置和使用,以及如何通过源码学习来提升对Struts的理解。 首先,Action配置主要在Struts配置文件(struts-config.xml)中进行。这个文件定义了应用程序的行为,包括Action的映射、...
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginForm loginForm = (LoginForm) form; try { ...
本例中使用的是 `struts-1.3.10-all.zip`。 2. **创建 Web 项目**:使用 IDE(如 Eclipse 或 IntelliJ IDEA)创建一个新的 Web 项目,命名为 `myStruts1.x`。 3. **导入 JAR 文件**:将解压后的 Struts 库文件...
Struts1.x是一个经典的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在Struts1.x中,实现文件上传功能是一个常见的需求,这通常涉及到处理用户通过表单提交的二进制数据,如图片、文档等。本示例...
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (!ServletFileUpload....
ActionForward forward = mapping.findForward("success"); return forward; ``` 其中,"success"是在struts-config.xml中预先定义的forward节点名,对应要转发到的JSP页面。 ```xml <action path="/login" ...
1. Struts框架的基本结构和组件,如Action、ActionForm、ActionMapping和ActionForward。 2. 如何配置Struts-config.xml文件来处理请求和响应。 3. 编写自定义的Action类以处理业务逻辑。 4. 使用ActionForm封装用户...
为了确保安全,开发者需要注意不要在Action中使用实例变量或类变量来存储请求相关的数据。同时,对公共资源的操作需要考虑同步问题。例如,如果要统计Action的访问数据,可以使用类变量并确保每次访问时原子性地递增...
protected ActionForward doAdd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (!isTokenValid(request)) { ActionMessages ...
这通常涉及到添加Struts的库文件到类路径,创建`struts-config.xml`配置文件,并在Web应用的`web.xml`中设置过滤器和监听器。 在`struts-config.xml`中,我们需要定义一个Action配置,这个Action将处理文件上传请求...
Struts1.2是Apache的一个开源框架,主要用于构建MVC(模型-视图-控制器)架构的Web应用程序,而Commons-Fileupload则是Apache Commons项目中的一个子模块,专门处理HTTP请求中的多部分数据,也就是文件上传。...
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { // 生成Token并保存到session this.saveToken(request); return ...
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { try { // 正常业务逻辑 } catch (MyCustomException e...