`
awp
  • 浏览: 19548 次
  • 性别: Icon_minigender_1
  • 来自: 林州
最近访客 更多访客>>
社区版块
存档分类
最新评论

一个Action对应多个Form

阅读更多

  Action:

 

package com.awp.test.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.actions.DispatchAction;

import com.awp.test.form.FirstForm;
import com.awp.test.form.SecondForm;

/**
 * @version 1.0
 * @author awp
 * @date 2009-4-24 上午11:25:49
 * @decription 一个Action中包含多个Form 
 */
public class MultiFormTestAction extends DispatchAction {

	/**
	 * 第一个Form对应方法
	 */ 
	public ActionForward firstForm(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
			FirstForm	beanform	=	(FirstForm)form;
			request.setAttribute("name", beanform.getName());
			return mapping.findForward("display");
	}
	/**
	 *  第二个Form对应方法
	 */ 
	public ActionForward secondForm(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
			SecondForm	beanform	=	(SecondForm)form;
			request.setAttribute("name", beanform.getName());
			return mapping.findForward("display");
	}
}

 

 

Form:

package com.awp.test.form;

import org.apache.struts.action.ActionForm;

public class FirstForm extends ActionForm {

	private String	name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

}

 

package com.awp.test.form;

import org.apache.struts.action.ActionForm;

public class SecondForm extends ActionForm {

	private String	name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

}

  

 struts-cofing.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" 
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
	<form-beans>
		<form-bean name="firstform" type="com.awp.test.form.FirstForm"/>
		<form-bean name="secondform" type="com.awp.test.form.SecondForm"/>
	</form-beans>
	<global-forwards>
		<forward name="display" path="/display.jsp"/>
	</global-forwards>
	<action-mappings>
		<action path="/firstpath"
				input="/first.jsp"
				name="firstform"
				parameter="method"
				scope="request"
				type="com.awp.test.action.MultiFormTestAction"/>
				
		<action path="/secondpath"
				input="/second.jsp"
				name="secondform"
				parameter="method"
				scope="request"
				type="com.awp.test.action.MultiFormTestAction"/>				
	</action-mappings>
	<message-resources parameter="MessageResources" /> 
</struts-config>

 

first.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>我是提交第一个FORM的页面</title>
  </head>
  <body>
   <form action="<%=request.getContextPath()%>/firstpath.do?method=firstForm" method="post">
   	<input name="name" value="" type="text"/>
   	<input name="ok" value="提交" type="submit"/>
   </form>
  </body>
</html>

 

second.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>我是提交第二个FORM的页面</title>
  </head>
  <body>
   <form action="<%=request.getContextPath()%>/secondpath.do?method=secondForm" method="post">
   	<input name="name" value="" type="text"/>
   	<input name="ok" value="提交" type="submit"/>
   </form>
  </body>
</html>

 

display.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>显示页面</title>
  </head>
  <body>
  <br />
   表单提交的内容为:${name} <br /><br />
   <a href="first.jsp">打开表单1</a><br /><br />
   <a href="second.jsp">打开表单2</a>
  </body>
</html>

 

Action必须继承DispatchAction,感觉其实一个action还是只能对应一个form

这里的方法其实是利用action的path 多个path可以指向同一个action。

分享到:
评论
3 楼 Ascends 2013-12-04  
不错哦!!!!
2 楼 越狼双 2012-07-23  
  大哥这样真的 不给力 还是一样....
1 楼 money8899 2009-11-07  
[b][i]
引用
[u][i][b][u]
[flash=200,200][url][img][list]
[*]
引用
[u][u][i][b]sdfdsfsdfsdf[/b][/i][/u][/u]
[/list][/img][/url][/flash]
[/b][/i][/u][/u]
[/i][/b]

相关推荐

    java处理一个form多个submit

    下面是一个实例程序,演示如何处理有多个 submit 的 form: 【第 1 步】实现主页面(more_submit.jsp) 在 more_submit.jsp 中,有两个 submit:保存和打印。其中分别通过 method 属性指定了要调用的方法:save 和...

    Struts2教程:处理一个form多个submit.doc

    总结来说,Struts2通过在Action类中定义与submit按钮对应的方法,以及在JSP页面中使用`s:submit`标签的`method`属性,实现了对一个表单内多个submit按钮的区分处理。这种方法提高了代码的可读性和可维护性,同时也...

    一个form多个submit处理案例

    在这个“一个form多个submit处理案例”中,我们将探讨如何在一个表单中使用多个submit按钮来实现不同的功能。这在实际应用中非常常见,比如在一个订单页面上,用户可能有一个“保存草稿”和“立即购买”的提交选项。...

    一个Form数据拆分到不同的jsp中

    标题中的“一个Form数据拆分到不同的jsp中”是指在Web开发中,如何将一个大型的表单(Form)逻辑拆分成多个独立的JavaServer Pages(JSP)文件,以便更好地管理和维护页面结构。这种做法有助于提高代码的可读性和可...

    一个Struts1多文件上传实例(附Form中传List示例)

    在Struts1中,ActionForm类需要有一个对应的List字段来接收这些值,这样在提交表单时,Struts1的默认Binding机制会自动将这些值绑定到List中。 4. **配置文件**: 配置文件(struts-config.xml)需要添加相应的...

    EventDispatchAction类处理一个form多个submit

    ### EventDispatchAction类处理一个form多个submit #### 一、背景与概述 在Web应用程序开发过程中,表单的提交操作是非常常见的场景之一。对于复杂的业务逻辑而言,有时我们需要在一个表单中提供多个提交按钮,...

    Struts1.2Action之处理多个业务

    每个Action对应一个特定的HTTP请求,负责接收请求参数,处理业务逻辑,并通过ActionForward或ActionRedirect来决定页面跳转。Action类通常继承自org.apache.struts.action.Action,你可以根据业务需求重写execute...

    浅析一个表单多个Submit按钮的简单实现方法

    通常,一个表单只有一个Submit按钮,但有时根据设计需求,我们可能需要在同一个表单中添加多个Submit按钮,以实现不同的提交功能。本文将深入探讨如何在HTML和JavaScript中实现一个表单多个Submit按钮的简单方法。 ...

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

    传统的Struts开发中,每个表单对应一个ActionForm类,而在动态Form模式下,无需预先定义Form类,而是直接在JSP页面中声明表单元素,并通过OGNL(Object-Graph Navigation Language)表达式绑定到Action的属性。...

    浅析一个表单多个Submit按钮的简单实现方法.pdf

    在实现一个表单中多个Submit按钮的功能时,我们需要考虑到每个Submit按钮对应的处理程序的不同。通过使用JavaScript函数、HTML的Form标记中的action属性和服务器端的语言,我们可以轻松地实现这些功能。 本文提供了...

    关于applicationx-www-form-urlencoded等字符编码的解释说明

    multipart/form-data是另一种常用的编码格式,它将窗体数据编码为一条消息,页上的每个控件对应消息中的一个部分。这种编码格式可以上传文件,并且可以处理复杂的数据结构。 在实际开发中,我们需要根据具体情况...

    FORM内容或URL后的值如何通过Form表单 和QueryString集合为ASP脚本所用

    此外,有时一个表单字段可能有多个值,比如复选框或有相同Name属性的文本框。这时,Form集合会为该Name创建一个条目,包含所有值。例如: ```html &lt;FORM ACTION="show_request.asp" METHOD="POST"&gt; OtherHobby: ...

    解决Django一个表单对应多个按钮的问题

    然而,有时会遇到一个表单需要对应多个按钮,每个按钮执行不同的操作,如保存、删除或更新。本篇文章将详细介绍如何解决Django中一个表单对应多个按钮的问题。 首先,我们要理解Django表单的基本原理。Django的表单...

    Ext 添加功能form表单实例

    综上所述,这个实例展示了如何在Ext中创建一个完整的表单,包括表单的布局、字段的定义及验证、按钮及事件处理等多个方面。对于初学者来说,这是一个很好的学习资源,可以帮助他们快速掌握如何使用Ext构建复杂的Web...

    struts2 result转向到action

    在给定的内容中,我们可以看到一个简单的登录页面(`Login.jsp`)和对应的 Struts2 配置(`struts.xml`)。 ##### Login.jsp 示例代码分析 ```html &lt;form id="form1" name="form1" method="post" action="/login....

    jquery.form.js(最新的)

    4. **Struts Action**:定义一个Struts Action,处理AJAX请求。在这个Action中,你需要处理表单数据,进行业务逻辑处理,并返回一个可以被JavaScript解析的响应(通常是JSON或XML)。 5. **AJAX回调**:在jQuery的...

    SSH项目 form读取xml实例

    总的来说,"SSH项目 form读取xml实例"涵盖了SSH2框架下的表单处理、XML数据的读取与操作、JavaScript的前端交互等多个知识点。通过这个实例,开发者可以学习到如何在Java Web项目中有效地管理和处理表单数据,以及...

    J2EE_高级Action

    在Web开发中,特别是使用Struts框架时,经常会遇到一个问题:当一个简单的组件(如购物车)需要执行多种操作(如添加商品、删除商品、修改商品数量等),而Struts的`Action`类通常只有一个`execute`方法时,如何设计...

    Ext form_load

    `doAction`接受两个参数,一个是操作类型(如'load'或'submit'),另一个是包含配置选项的Ext.form.Action对象。 4. **Ext.form.Action对象**: Action对象定义了数据操作的行为,如HTTP请求和处理响应。`Ext.form...

    Action使用说明

    如果希望在保持每个请求路径对应一个`&lt;action&gt;`元素的同时,又能够在一个Action类中处理多个请求路径,可以选择继承`MappingDispatchAction`。 **配置示例**: ```xml &lt;action path="/mapping/login" type=...

Global site tag (gtag.js) - Google Analytics