`
zhengbocong
  • 浏览: 14128 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

在struts1中使用FormBean获得请求参数

阅读更多

jsp页面中,当提交多个请求参数的时候,可以定义一个bean来获取这些参数,struts会将这些请求参数自动天剑到bean

1.jsp页面中提交多个请求参数时

 

<a href="todo.do?username=admin&age=20">goto</a>

2.定义一个javaBean来存放这些请求参数,该javaBean必须继承ActionForm

 

public class User extends ActionForm {
	private static final long serialVersionUID = 1L;
	private String username;
	private String age;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
}

3.struts-config.xml文件中配置使用javaBean来存放请求参数

 

	<!-- 配置bean的集合 -->
	<form-beans>
		<!-- 配置form-bean
			user:formBean的名字,需要和action中的name一致
			type:该javaBean的类路径
		 -->
		<form-bean name="user" type="com.cong.bean.User"></form-bean>
	</form-beans>
	<action-mappings>
		<!-- 在action中使用name来指定使用该bean来存放请求参数 -->
		<action name="user" path="/todo" type="com.cong.action.LoginAction">
			<forward name="success" path="/WEB-INF/jsp/login/somepage2.jsp" />
		</action>
	</action-mappings>

4.Action中可以使用user来得到请求参数

 

	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		//提交过来的javaBean是一个ActionForm的类型,需要强制转换为需要的类型User
		User user = (User)form;
		//输出请求参数
		System.out.println(user.getUsername()+","+user.getAge());
		return mapping.findForward("success");
	}

 

注意:当在JavaBean中有使用复杂对象的时候,在jsp中的表单提交需要将对象作为属性额前缀命名(eguser.usernmae),在使用复杂对象的时候,必须要为复杂对象做初始化,因为在struts1中,使用复杂对象时,会调用对象的getter方法获得复杂对象,然后将属性setter到这个复杂对象上,所以getter出来的复杂对象不能未初始化,在struts2中,则是直接生成复杂对象后,在通过对象的setter将整个复杂对象传进去,所以不会出现这样的问题。

 

action中使用name的时候,struts1会将name中的bean文件存放到web作用域里面,默认为session,可以使用scope来制定作用域,还可以使用attribute来设置存放到web作用域中的名称,默认与name属性的bean文件一致

 

 

 

 

 

 

分享到:
评论

相关推荐

    Struts中FormBean的日期类型字段赋值自动转化

    当用户提交表单时,Struts框架会自动将请求参数填充到对应的FormBean属性中。 二、日期类型的处理 在实际应用中,我们可能会遇到需要处理日期类型的字段。Java中常用的日期类型有`java.util.Date`、`java.sql.Date`...

    Struts1_Struts2

    Struts1的配置主要在struts-config.xml文件中进行,包括Action映射、FormBean定义和Plug-In配置等。 - **MVC架构**:Struts1遵循MVC设计模式,使得开发者可以将业务逻辑、数据模型和用户界面分离,提高代码的可重用...

    struts1教程

    9. **文件上传与下载**:阐述Struts1中处理文件上传和下载的方法,包括使用Commons-FileUpload库。 10. ** Tiles框架集成**:介绍Tiles框架,它是Struts1的一个扩展,用于创建可重用的页面布局。 《struts1.x_p...

    Struts1 MVC实例

    1. **ActionForm**:这是Struts1中的表单类,用于封装来自HTML表单的数据,并在请求之间传递。在描述的实例中,可能有对应于查询、追加、修改、删除操作的ActionForm类。 2. **Action**:Action是处理用户请求的...

    深入struts1核心思想.doc

    在Struts1中,Digester用于将XML配置文件(如struts-config.xml)解析成Java对象。它通过匹配XML元素路径来创建和初始化对象,以及设置对象的属性。例如,`&lt;书 key=”作者” value=”zhang”/&gt;`会被映射到JavaBean...

    struts1和struts2的比较

    在Action方面,Struts1要求Action类继承自`org.apache.struts.action.Action`,并且表单数据通常封装在FormBean中。而Struts2则允许Action类不依赖任何特定的基类或接口,数据可以直接在Action类中通过Getter和...

    北大青鸟Y2(Struts)ppt

    在请求处理过程中,Struts 会自动将请求参数绑定到 FormBean 中,方便业务逻辑的处理。同时,FormBean 也可以作为模型层与视图层之间的桥梁,传递数据到 JSP 页面进行显示。 **3. FormBean:** FormBean 是一种特殊...

    struts1整合源码所需的jar包

    本篇将详细讲解Struts1整合源码以及所需的jar包,帮助你理解如何在项目中正确地配置和使用这些库。 首先,让我们来探讨一下Struts1的核心概念。Struts1框架的主要目标是通过提供一种结构化的方式来组织和控制Web...

    Struts1.x使用回顾

    在Web开发领域,Struts1.x曾是广泛使用的框架,它帮助开发者构建结构清晰、易于维护的Web应用。这篇博文主要回顾了Struts1.x的关键特性和使用方法。 **1. MVC设计模式** Struts1.x的核心是MVC模式,它将业务逻辑...

    struts 1 源码分析

    Struts 1是一款经典的Java Web框架,由Apache软件基金会开发,它在2000年代初期广泛用于构建企业级Web应用程序。Struts 1的核心设计理念是实现MVC(Model-View-Controller)模式,帮助开发者将业务逻辑、数据模型和...

    beginning Apache struts from Novice To Professional struts基础教程

    在学习过程中,通过提供的源代码实例,你可以更直观地了解Struts1的工作原理。 1. **Struts1概述**: - Struts1是Apache软件基金会下的一个项目,它提供了一种结构化的框架,简化了Java Servlet和JSP的开发。 - ...

    张孝祥09年struts高级实战进阶PPT

    需要注意的是,Struts 1.x虽然经典,但在现代开发中已被Struts 2或其他更现代的框架(如Spring MVC)所取代,学习时也应关注新技术的发展。不过,了解Struts 1的基础和原理对于理解其他框架的工作方式仍有帮助。

    Struts的工作原理

    FormBean通常用来存储用户的输入数据,以便在后续处理中使用。 5. **调用ActionBean**:ActionServlet根据配置信息,将FormBean传递给对应的Action(ActionBean)。ActionBean是业务逻辑的执行者,它可以从FormBean...

    基于struts1的博客系统

    【基于Struts1的博客系统】是一个典型的Java Web应用程序,它是使用...这些内容构成了整个基于Struts1的博客系统的运行基础,通过学习和分析这些文件,可以深入了解Struts1框架的工作原理及其在实际项目中的应用。

    struts2 valadation验证

    而ActionForm方式则是基于传统的Struts1的FormBean,将验证规则放在单独的Form类中。 在实际项目中,你可能还会遇到一些高级用法,比如自定义Validator,用于处理复杂的验证需求。这可以通过实现`org.apache.struts...

    关于struts1和struts2的资料

    3. **Form填充**:ActionServlet接收请求后,将请求参数填充到对应的Form Bean中。 4. **派发请求**:根据`struts-config.xml`中的ActionConfig配置,ActionServlet将请求转发到特定的Action类,并传递formBean。 ...

Global site tag (gtag.js) - Google Analytics