`
leiwuluan
  • 浏览: 707316 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

动态Action的实现:

阅读更多

在下面用的是只用一个Action 来处理多个Form 的业务处理:

它的原理是:1利用一个隐藏的文本域传一个方法名:然后调用Action中相映的方法:而这个Action一定是一个DispatchAction 代码如下:

package com.struts.action;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.DynaActionForm;

import org.apache.struts.actions.DispatchAction;

 

 

public class LoginAction extends DispatchAction {

 

    public ActionForward love(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response) {

       DynaActionForm da=(DynaActionForm)form;

       System.out.println(da.get("name")+"   I love you ");

       return null;

    }

    public ActionForward dislike(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response) {

       DynaActionForm da=(DynaActionForm)form;

       System.out.println(da.get("name")+"   I dislike you ");

       return null;

    }

    public ActionForward miss(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response) {

       DynaActionForm da=(DynaActionForm)form;

       System.out.println(da.get("name")+"   I miss you ");

       return null;

    }

}

 

而在jsp中的页面中的代码如下:

<%@ page language="java" pageEncoding="utf-8"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

 

<html>

    <head>

       <title>JSP for LoginForm form</title>

       <script type="text/javascript">

       <!--

           function _action(_value){

              document.forms[0].method.value=_value;

              document.forms[0].submit();

           }

       //-->

       </script>

    </head>

    <body>

       <html:form action="/login">

       <html:text property="name"/>

       <html: hidden property="method"/>

           姓名<input type="button" name="" value="love" onclick="_action(this.value)"/>

           <input type="button" name="" value="dislike" onclick="_action(this.value)"/>

           <input type="button" name="" value="miss" onclick="_action(this.value)"/>

       </html:form>

    </body>

</html>

如上是一个的一个hidden

 

然后在struts-config.xml中的配置中如下代码:标明hidden:

<action-mappings >

    <action

      attribute="loginForm"

      input="/form/login.jsp"

      name="loginForm"

      path="/login"

      parameter="method"

      scope="request"

      type="com.struts.action.LoginAction" />

  </action-mappings>

在上面的parameter指定hidden

 

超链接访问如:<a herf="index.do?mehto=login"></a>

 

分享到:
评论

相关推荐

    struts2笔记之动态调用Action指定方法及默认Action

    在实际开发中,我们经常需要在一个 Action 中实现多个处理逻辑,这样可以减少代码的重复和提高开发效率。那么,在 Struts2 中如何动态调用 Action 的指定方法呢? 首先,我们可以在表单中使用 `&lt;form action="login...

    struts 2 action 动态调用

    本文档将详细介绍如何在Struts 2中实现Action动态方法调用,并通过实例演示其具体应用。 #### 二、基础知识回顾 在开始深入探讨动态方法调用之前,让我们先回顾一下Struts 2框架的基本概念。 1. **Action**: 在...

    ioc框架,通过动态代理实现.

    在IOC框架中,动态代理的实现方式主要有两种:JDK动态代理和CGLIB动态代理。 1. JDK动态代理:JDK内置的java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口提供了实现动态代理的能力。当被代理的...

    通过表单提交实现调用不同的action方法

    你可以通过分析和运行这些示例,进一步掌握如何在实际项目中实现表单提交调用不同Action方法的功能。 总之,理解URL、Action、jsp以及表单提交的交互机制是Web开发中的基础技能。通过学习和实践,你将能够更有效地...

    AspectJ in Action: Enterprise AOP with Spring Applications

    ### AspectJ in Action: Enterprise AOP with Spring Applications #### 关键知识点概述 1. **Spring-AspectJ集成:**本书重点介绍了Spring框架与AspectJ相结合的技术优势及其在企业级应用中的强大功能。 2. **...

    js form action动态修改方法.docx

    总之,JavaScript 提供了丰富的API和方法来动态修改`form action`属性,实现表单的灵活提交。这在构建交互性强、用户体验良好的Web应用时非常有用。通过熟练掌握这些技巧,开发者可以创建出更加动态和智能的表单交互...

    Android代码-一种简便、可变Action的实现方案

    Android Dynamic Action(动态Action) Android Dynamic Action,简称DA,是一种简便、可变Action的实现方案。DA框架的初衷是为了取代Context.startActivity的调用方式,使用建造者模式(Builder Pattern)构建交互参数...

    Windchill9.0 action与actionModel

    2. **动态性**:ActionModel可以动态地根据业务环境变化进行调整,无需重新编写代码。 3. **扩展性**:ActionModel支持插件和自定义模块的集成,便于添加新的功能或Action。 **Action与ActionModel的关系** Action...

    基于ajax的动态树实现

    本项目"基于Ajax的动态树实现"是利用Struts框架和Ajax技术来创建一个交互式的、能实时更新的树形视图。下面将详细介绍这个项目中的关键技术点和实现流程。 首先,Struts是一个Java MVC(Model-View-Controller)...

    给Form动态赋值并动态转向

    2. **JavaScript动态修改Action属性**:通过JavaScript可以动态修改表单的`action`属性,从而改变表单提交的目标。这里的`FormSubmit`函数实现了这一功能。 ```javascript function FormSubmit() { document....

    Struts实现动态树

    综上所述,"Struts2实现动态树结合Hibernate"涉及到的主要知识点有:Struts2 MVC框架的工作原理、Hibernate的实体映射和CRUD操作、前端动态加载的实现、Ajax技术以及Struts2的配置和Action设计。通过整合这些技术,...

    struts课堂资料\第五章(动态ActionForm与控制器)

    在Struts中,控制器主要由ActionServlet实现,它是Servlet的一种,负责调度请求并协调模型和视图。控制器的角色至关重要,因为它管理着应用程序的流程。 2.1 ActionServlet:作为Struts框架的核心,ActionServlet...

    jsp(实现首页动态)java

    ### JSP实现首页动态 #### 一、JSP与首页动态化基础 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,它主要用于创建动态网页。通过将HTML代码与Java代码混合编写,可以实现网页内容的动态生成。...

    ADP(自适应动态规划)_HDP.rar

    利用ADP(自适应动态规划)中的HDP,实现对非线性离散时间系统的稳定控制。代码利用python实现。构建评价网络(Critic Network)、模型网络(Model Network)和执行网络(Action Network)三个网络。需要安装Pytorch;由于...

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

    在Struts的高级部分,我们主要关注三个方面:常用Action、验证框架以及动态Form。 **一、常用Action** 1. **自定义Action**:在Struts中,Action是业务逻辑处理的核心,它是请求与模型之间交互的桥梁。开发者可以...

    struts2实现验证码

    本教程将详细讲解如何利用Struts2框架来实现验证码功能。 首先,我们需要理解验证码的基本原理。验证码通常是一串随机生成的字符或数字,用户需要正确输入才能完成特定操作,如登录、注册等。它的主要目标是验证...

    Action传递参数的三个方法

    Action Parameters是QTP内置的一种传递参数的方式,它允许我们在执行Action时动态传入不同的值。这种方法简单直观,易于理解。 **步骤如下:** - 打开QTP,选择需要添加参数的Action。 - 在“对象仓库”中右键点击...

    android动态取景框拍照实现源码

    3. **触控事件处理**:为了实现取景框的拖动和大小调整,我们需要监听`MotionEvent`,并在用户触摸屏幕时响应ACTION_DOWN、ACTION_MOVE和ACTION_UP事件。 4. **图形绘制**:利用`Canvas`和`Paint`对象在SurfaceView...

    多action之间跳转传参问题

    这在构建动态、交互性强的Web应用中是必不可少的。本项目旨在演示如何在自定义的Action之间进行有效的跳转和参数传递,从而提高开发效率和代码的可维护性。 首先,让我们了解Action的基本概念。在Struts2框架中,...

Global site tag (gtag.js) - Google Analytics