`
954151190
  • 浏览: 47670 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

搭建简单Struts框架 Action/ActionForm

阅读更多
[color=blue][/color]
使用对象 Action,ActionForm;

一:web.xml文件配置

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<!-- 用处:设定servlet文件 访问配置 -->

<!-- 用处:设定servlet文件和struts-config文件的关联 -->

  <!--设定servlet文件配置-->

  <servlet>

  <!--设定servlet【引用】名称:用于在XML文件中使用-->

    <servlet-name>action</servlet-name>

    <!-- 将【引用】名称与实体servlet类相关联-->

    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

   

    <!-- 将servlet与struts_config.xml文件相关联3 -->

   

    <init-param>

    <!-- 设定struts-config.xml文件的【引用】名称 -->

      <param-name>config</param-name>

      <!-- 设定与【引用】名称相关联的实体struts-config.xml文件 -->

      <param-value>/WEB-INF/struts-config.xml</param-value>

    </init-param>

    <init-param>

      <param-name>debug</param-name>

      <param-value>3</param-value>

    </init-param>

    <init-param>

      <param-name>detail</param-name>

      <param-value>3</param-value>

    </init-param>

    <load-on-startup>0</load-on-startup>

  </servlet>

  <!-- 设定servlet文件的访问地址名称 -->

  <servlet-mapping>

    <!-- 首先确定被设置的servlet文件 使用servlet文件的【引用】名称绑定 -->

    <servlet-name>action</servlet-name>

     <!-- 设定servlet文件的访问地址为 *。do -->

    <url-pattern>*.do</url-pattern>

  </servlet-mapping>

  <!-- 设定起始页 -->

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>



二:struts-config.xml文件配置

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<!-- 设定Action和Form文件的关联 -->

<struts-config>

  <data-sources>

  

  </data-sources>

  <!-- 设定Form文件在config中的引用 -->

  <form-beans>

   <form-bean name="addForm" type="MyForm.form"></form-bean>

  </form-beans>

  <global-exceptions />

  <global-forwards />

  <!-- 设定Action文件与Form文件【引用】名称的绑定 name-->

  <!-- 设定Action文件的访问地址 path-->

  <!-- 设定Action文件的实体类 type-->

  <!-- 设定Action文件中mapping对象内的K,V元素;K=引用,V=网页地址; forward-->

  <!-- mapping.findForward("K");相当于调转页面至V   name,path-->

  <action-mappings >

    <action

      attribute="addForm"

      name="addForm"

      path="/action"

      type="MyAction.MyAction">

      <forward name="input" path="/index.jsp" />

      <forward name="return" path="/index2.jsp" />

      <forward name="return2" path="/index3.jsp" />

    </action>

    <action

    name="addForm"

    path="/action2"

    type="MyAction.MyAction2">

      <forward name="input" path="/index.jsp" />

      <forward name="return" path="/index2.jsp" />

      <forward name="return2" path="/index3.jsp" />

    </action>

    <!-- action 调用action -->

    <action

    name="addForm"

    path="/action3"

    type="MyAction.MyAction3"

    >

    <!-- 将另一个Action的引用地址,添加到连接地址K,V集合列表中Mapping() -->

    <!-- 这样在代码中mapping.forward("地址");就可以跳转到action.do中 -->

    <!-- 这样的跳转是带值的,而且带Form对象 -->

     <forward name="return" path="/action.do"></forward>

    </action>

    <!-- 设定*.properties文件的实体对象 -->

    <!-- 用处1;存放ActionMessages信息,显示到页面 -->

  </action-mappings>

  <message-resources key="cn" parameter="com.my.struts.ApplicationResources" />

</struts-config>


三:实体Form文件

package MyForm;


import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionMapping;


public class form extends ActionForm {

private String num1;


public String getNum1() {

//测试运行

System.out.println("num1.get()");

return num1;

}

public void setNum1(String num1) {

//测试运行

System.out.println("num1.set()");

this.num1 = num1;

}

}

四:实体Action对象

对象一

package MyAction;

import java.io.IOException;


import javax.servlet.ServletException;

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 MyAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

ActionForward af = null;

//获取Form页面值

MyForm.form f = (MyForm.form)form;

//测试值

System.out.println("Form值"+f.getNum1());

//测试运行

System.out.println("Action.execute()");

//设定跳转

af = mapping.findForward("return");

//带跳转页面信息返回到servlet文件内执行跳转

return af;

}

}


对象2;

package MyAction;


import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import org.apache.struts.action.Action;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;


public class MyAction2 extends Action{

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

MyAction ma = new MyAction();

//Action中调用另一个Action对象方法;

//同一个工程下的对象,直接生成使用

ma.execute(mapping, form, request, response);

ActionForward af = mapping.findForward("return2");

return af;

}

}

对象3

package MyAction;

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.ActionMapping;

import org.apache.struts.action.ActionForward;


public class MyAction3 extends Action{

@Override

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

//测试运行

System.out.println("MyAction3.execute()");

//跳转到另一个Action,return为config文件内对应Action配置下的forward属性

ActionForward af = mapping.findForward("return");

return af;

}

}







三:实体Form文件

package MyForm;


import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionMapping;


public class form extends ActionForm {

    private String num1;


   public String getNum1() {

   //测试运行

   System.out.println("num1.get()");

   return num1;

   }

   public void setNum1(String num1) {

   //测试运行

   System.out.println("num1.set()");

   this.num1 = num1;

   }

}

四:实体Action对象

对象一

package MyAction;

import java.io.IOException;


import javax.servlet.ServletException;

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 MyAction extends Action {

   public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

   ActionForward af = null;

   //获取Form页面值

   MyForm.form f = (MyForm.form)form;

   //测试值

   System.out.println("Form值"+f.getNum1());

   //测试运行

   System.out.println("Action.execute()");

   //设定跳转

   af = mapping.findForward("return");

   //带跳转页面信息返回到servlet文件内执行跳转

   return af;

   }

}

对象2;

package MyAction;


import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import org.apache.struts.action.Action;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;


public class MyAction2 extends Action{

    public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

    MyAction ma = new MyAction();

//Action中调用另一个Action对象方法;

//同一个工程下的对象,直接生成使用

   ma.execute(mapping, form, request, response);

   ActionForward af = mapping.findForward("return2");

   return af;

   }

}

对象3

package MyAction;

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.ActionMapping;

import org.apache.struts.action.ActionForward;


public class MyAction3 extends Action{

   @Override

   public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

   //测试运行

   System.out.println("MyAction3.execute()");

   //跳转到另一个Action,return为config文件内对应Action配置下   的forward属性

   ActionForward af = mapping.findForward("return");

   return af;

   }

}
分享到:
评论

相关推荐

    J2EE项目实训——Struts框架技术.rar

    10. **ActionServlet**:Struts框架的入口点是ActionServlet,它是Servlet的子类,负责解析请求,调用Action,处理结果等。 11. ** strut2-struts1-plugin**:如果项目中还包含Struts1的遗留代码,可以通过Struts2...

    Struts框架分析与应用.pdf

    - **struts-config.xml**:Struts框架的核心配置文件,用于定义ActionServlet如何处理用户请求,以及ActionForm Bean和其他组件的配置。 #### 四、Struts框架的缺点 尽管Struts框架拥有许多优点,但也存在一些...

    Java开发struts框架包

    1. **Struts核心库**:包括struts-core.jar,这是Struts框架的核心组件,提供了ActionServlet、ActionForm、Action等关键类。 2. **Struts标签库**:如struts-tiles.jar、struts-taglib.jar,这些库提供了用于构建...

    struts框架中数据源的配置

    通过以上步骤,我们成功地在Struts框架中配置了SQL Server数据源,并在Action类中获取了该数据源的连接。这种方法不仅使得数据库连接的管理更加灵活,还极大地降低了应用程序后期维护和升级的成本。对于那些需要频繁...

    基于简单的MVC结构自己搭建Struts框架完整版(三)

    本教程将通过一个简单的实例,帮助你深入理解Struts框架的构建与工作原理。 首先,MVC模式是软件设计中的经典架构模式,它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。在...

    Struts完整框架打开即用

    Struts框架是Java Web开发中的一个经典模型-视图-控制器(MVC)框架,它由Apache软件基金会的Jakarta项目维护。Struts框架的主要目标是提供一个结构化的开发环境,帮助开发者创建易于维护、可扩展且具有良好组织结构...

    用Struts框架搭建MVC应用的简单介绍

    Struts框架还包含配置文件(struts-config.xml),定义了ActionServlet的映射、Action类的路径以及其他配置信息。此外,Struts提供了一套详细的文档和支持社区,使得开发者能够更快地学习和适应这个框架。 尽管...

    struts框架代码

    在搭建Struts框架时,我们通常需要以下步骤: 1. 添加Struts库依赖:将Struts的jar包添加到项目的类路径中。 2. 配置web.xml:设置过滤器(`org.apache.struts.action.ActionFilter`)和Servlet(`org.apache.struts...

    搭建struts1.x环境例子源码

    本例子源码旨在帮助初学者理解并搭建Struts1.x的开发环境。 在开始搭建环境之前,首先需要了解Struts1.x的基本构成。Struts1.x框架的核心组件包括ActionServlet、ActionForm、Action、Tiles等。ActionServlet是入口...

    struts框架自学教程 PPT

    "Struts框架自学教程 PPT"应该包含了以下内容:Struts的介绍、安装配置、MVC原理、配置文件详解、Action和ActionForm的使用、Struts拦截器、异常处理、国际化、实战案例等。通过这个PPT,你可以逐步了解和实践Struts...

    Struts框架 Jar包.rar

    Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它由Apache软件基金会...这个"Struts框架 Jar包"包含了所有必需的库文件,可以帮助开发者快速搭建起Struts环境,开始构建Web项目。

    eclipse搭建struts1.2

    在IT行业中,开发Web应用程序时,常常会使用到MVC(Model-View-Controller)设计模式,而Struts框架就是一款基于Java平台的MVC框架,尤其在早期Web开发中非常流行。本教程将详细讲解如何在Eclipse环境中搭建一个基础...

    Struts In Action

    《Struts In Action》是关于Apache Struts框架的一本经典实战书籍,它的源代码提供了丰富的实例,帮助读者深入理解并掌握Struts框架的使用。在这些压缩包文件中,我们可以找到多个不同版本和应用场景的示例项目,...

    Struts框架详解.doc

    Struts框架是Apache软件基金会开发的一个开源Web应用框架,专门用于构建基于Model-View-Controller (MVC)模式的应用程序。这个框架的核心目标是简化Java Web应用的开发过程,通过集成Servlet、JSP、自定义标签和信息...

    基于struts2的登录源码,采用IDEA编写

    Struts2是一个强大的Java web应用程序框架,它提供了一种组织MVC(模型-视图-控制器)架构的方式,使得开发者可以更容易地构建可维护、可扩展的web应用。本项目"基于struts2的登录源码"是使用IntelliJ IDEA(简称...

    Ibatis+Spring+struts1框架搭建

    【标题】:Ibatis+Spring+Struts1框架搭建 在Web开发中,Ibatis、Spring和Struts1是三个非常重要的组件,它们分别负责不同的职责。Ibatis是一个优秀的持久层框架,Spring是一个全面的后端应用框架,而Struts1则是一...

    struts框架ppt文档

    Struts框架是一款经典的Java Web开发框架,由Apache软件基金会维护,主要用于构建基于MVC(Model-View-Controller)设计模式的Web应用程序。本PPT文档将深入探讨Struts框架的核心概念、开发流程以及实际运用。 首先...

    struts_框架包

    这个“struts_框架包”很可能是为了简化开发者的工作,提供了一个预先配置好的环境,以便快速搭建Struts应用。下面我们将深入探讨Struts框架的核心概念、工作原理以及它在实际开发中的作用。 1. **Struts框架概述**...

Global site tag (gtag.js) - Google Analytics