`

ActionMapping相关

阅读更多

一、Map的设置map.put("path",new Actionmapping());

 

二、forward属性

      注意是forward属性而不是forward标签!

 

package com.lwf.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class ConvertAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		return mapping.findForward("success");
	}

}

 

<action path="/convertAction" type="com.lwf.struts.action.ConvertAction" name="convertForm"  scope="request">
      <forward name="success" path="/convertResult.jsp"></forward>
</action>
可以看到上面的action里面不做任何处理,完全可以用下面的设置来代替。
<action path="/convertAction" forward="/convertResult.jsp" name="convertForm"  scope="request"/>

 

forward属性相当于request.getRequestDispatcher("/convertResult.jsp").forward(request, response);

 

 

三、unknown属性

我们在浏览器中输入http://localhost:8888/TestStruts/login.do

ActionServlet会在ActionMapping 中查找到对应action进行处理并转发。那么现在我输入

http://localhost:8888/TestStruts/login1.do,显然没有这个action那么系统会进入错误页面,客户如果看到这里会大发雷霆了。。至少应该有一个友好的提示页面给客户看到。。

这就是unknown属性的用处了。

<action path="/unknownAction" forward="/unknown.jsp" unknown="true"/>

 

上面配置之后,如果系统找不到login1.do那么会自动转发到unknown.jsp,我们可以在这个页面提示客户检查输入的请求地址是否正确。。

 

需要注意的是unknown属性只对do请求起作用。比如JSP页面上链接找不到。那就不起作用了。如下面的链接

<a href="http://localhost:8080/TestStruts/indes.jsp">index</a>

 

四、input属性

设置了input属性并将validate设为true时,当表单在actionForm的validate方法中验证失败时会自动转发到该属性指定的路径。不再执行Action后面的return mapping.findForward("success");

当然我们也可以在Action中通过return mapping.getInputForward();转发到它指定的路径。

分享到:
评论

相关推荐

    actionmaping

    这些文件可能包括了struts-config.xml配置文件示例、Action类的Java源代码,或者是有关ActionMapping的讲解文档。 总的来说,了解和掌握ActionMapping对于理解和使用Struts框架至关重要,它连接了用户请求和业务...

    strutsinaction

    2. 决定哪个业务操作与请求相关。 3. 加载多线程的helper对象来处理业务操作。 4. 将每个请求特定的配置细节传递给helper对象。 这就是`ActionMapping`的作用。 #### 7.1.1 ActionMapping Bean `ActionMapping`...

    SpringCloud客户端服务端注册中心完整示例

    1. 创建Eureka Server:首先,我们需要创建一个Eureka服务器应用,配置Eureka的相关属性,如服务端口、服务实例的自我保护模式等。 2. 配置服务提供者(eureka-client):然后,我们需要创建一个服务提供者应用,它...

    struts2控制器源码讲解

    理解`FilterDispatcher`的工作原理对于优化Struts2应用性能和解决与请求处理相关的故障至关重要。开发者可以通过自定义`ActionMapper`和`ActionMapping`来适应特定的应用需求,或者通过扩展`FilterDispatcher`实现更...

    struts的原代码

    5. **配置文件(struts-config.xml)**: 这个XML文件是Struts应用的配置中心,定义了Action、ActionMapping、数据源以及其他相关的设置。通过修改此文件,开发者可以调整Struts的行为。 6. **JSP视图**: Struts支持...

    struts 1.38 API 文档

    8. **.struts-config.xml**:这是Struts的配置文件,其中包含了ActionMapping、Form Beans、ActionServlet配置、以及其他相关配置。它是Struts框架运行的基础。 9. **Plug-ins**:Struts 1.38支持插件机制,允许...

    重新封装struts中action类

    总之,重新封装Struts中的`Action`类是为了提高代码的可维护性和灵活性,将与框架相关的细节隐藏起来,使开发者能够更专注于业务逻辑的实现。`GenericAction.java`是这种封装思想的具体体现,通过它我们可以更好地...

    Struts1配置

    这个JAR文件包含了ActionServlet、ActionForm、ActionMapping等关键组件,它们在请求处理中起到关键作用。ActionServlet是Struts1的控制器,负责接收HTTP请求,解析请求参数,并调用相应的ActionForm对象来处理业务...

    struts1 基本流程.docx

    然后,RequestProcessor会尝试匹配请求URL与ActionMapping对象,ActionMapping包含了关于动作(action)的配置信息。如果找到了匹配的ActionMapping,RequestProcessor会根据配置创建或获取ActionForm对象,...

    [精选]控制器组件和控制器机制概述.pptx

    当RequestProcessor找到对应的Action实例后,会调用其`execute()`方法来执行相关的业务逻辑。 4. **ActionForm**:ActionForm用于封装用户从视图层提交的数据,它在Action和业务层之间传递数据。ActionForm的实例...

    Struts开发入门与项目实践2

    Struts是Apache软件基金会旗下Jakarta项目的一个开源框架,主要用于构建基于Java的Web应用程序。..."Struts开发入门与项目实践2"这个资源应该包含了相关的示例代码和讲解,可以帮助你在实际操作中加深理解,提高技能。

    Struts Gossip

    2. **Action**:Action类是业务逻辑的载体,它接收来自控制器的请求,执行相关操作,并返回一个表示结果的ActionForward对象。 3. **ActionForm**:ActionForm用于封装用户从视图层提交的数据,它是一个JavaBean,...

    Struts.rarStruts.rarStruts.rar

    2. **ActionMapping**:ActionMapping是配置在struts-config.xml文件中的,它定义了请求URL与Action类之间的映射关系。通过ActionMapping,Struts知道哪个Action应该处理特定的HTTP请求。 3. **ActionForm**:...

    struts1.2源码

    它处理与数据相关的操作,如数据库交互、数据处理等。 - **View(视图)**:负责展示数据,通常是由HTML、CSS和JavaScript组成的用户界面。 - **Controller(控制器)**:作为模型和视图之间的桥梁,接收用户的输入...

    Struts架包struts-1.3.10

    此外,web.xml也非常重要,它是Servlet容器的部署描述符,用于设置Struts拦截器和其他Servlet相关配置。 6. **RequestProcessor**:请求处理器是Struts框架的第一道防线,它接收来自用户的请求,解析请求信息,然后...

    struts1jar包

    当用户发送一个HTTP请求时,ActionServlet拦截请求,根据struts-config.xml中的配置找到对应的ActionMapping,调用相关的Action,Action执行完毕后通过ActionForward指定响应的JSP页面。JSP页面负责显示结果,整个...

    Struts1大学课件

    Action类是处理业务逻辑的地方,它接收ActionForm中的数据,执行相关操作,然后返回一个表示结果的ActionForward对象。 **6. ActionMapping** ActionMapping定义了Action与URL的对应关系,它告诉Struts1哪个Action...

    自己学习用的代码,很乱的东西

    7. **struts_actionmapping**:ActionMapping是Struts中定义动作映射的类,负责将请求映射到特定的Action。这个目录可能包含如何配置和使用ActionMapping的示例。 8. **struts_actionForm**:ActionForm是Struts中...

    Struts_lesson3.ppt

    本课件主要讲解了Struts框架中的控制器组件及其相关概念。 **第二章 Struts 控制器** 1. **Struts 控制器组件** - **ActionServlet**: 是Struts框架的核心,它是Servlet的子类,处理HTTP请求。ActionServlet负责...

    java struct用户指南//学习笔记

    1. Action:Action类是Struts的核心,它接收来自控制器的请求,执行相关的业务逻辑,并返回一个表示处理结果的ActionForward对象。开发者需要继承Struts提供的Action基类,重写execute方法。 2. Form Bean:用于封装...

Global site tag (gtag.js) - Google Analytics