在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中的表单提交需要将对象作为属性额前缀命名(eg:user.usernmae),在使用复杂对象的时候,必须要为复杂对象做初始化,因为在struts1中,使用复杂对象时,会调用对象的getter方法获得复杂对象,然后将属性setter到这个复杂对象上,所以getter出来的复杂对象不能未初始化,在struts2中,则是直接生成复杂对象后,在通过对象的setter将整个复杂对象传进去,所以不会出现这样的问题。
在action中使用name的时候,struts1会将name中的bean文件存放到web作用域里面,默认为session,可以使用scope来制定作用域,还可以使用attribute来设置存放到web作用域中的名称,默认与name属性的bean文件一致
相关推荐
当用户提交表单时,Struts框架会自动将请求参数填充到对应的FormBean属性中。 二、日期类型的处理 在实际应用中,我们可能会遇到需要处理日期类型的字段。Java中常用的日期类型有`java.util.Date`、`java.sql.Date`...
Struts1的配置主要在struts-config.xml文件中进行,包括Action映射、FormBean定义和Plug-In配置等。 - **MVC架构**:Struts1遵循MVC设计模式,使得开发者可以将业务逻辑、数据模型和用户界面分离,提高代码的可重用...
9. **文件上传与下载**:阐述Struts1中处理文件上传和下载的方法,包括使用Commons-FileUpload库。 10. ** Tiles框架集成**:介绍Tiles框架,它是Struts1的一个扩展,用于创建可重用的页面布局。 《struts1.x_p...
1. **ActionForm**:这是Struts1中的表单类,用于封装来自HTML表单的数据,并在请求之间传递。在描述的实例中,可能有对应于查询、追加、修改、删除操作的ActionForm类。 2. **Action**:Action是处理用户请求的...
在Struts1中,Digester用于将XML配置文件(如struts-config.xml)解析成Java对象。它通过匹配XML元素路径来创建和初始化对象,以及设置对象的属性。例如,`<书 key=”作者” value=”zhang”/>`会被映射到JavaBean...
在Action方面,Struts1要求Action类继承自`org.apache.struts.action.Action`,并且表单数据通常封装在FormBean中。而Struts2则允许Action类不依赖任何特定的基类或接口,数据可以直接在Action类中通过Getter和...
在请求处理过程中,Struts 会自动将请求参数绑定到 FormBean 中,方便业务逻辑的处理。同时,FormBean 也可以作为模型层与视图层之间的桥梁,传递数据到 JSP 页面进行显示。 **3. FormBean:** FormBean 是一种特殊...
本篇将详细讲解Struts1整合源码以及所需的jar包,帮助你理解如何在项目中正确地配置和使用这些库。 首先,让我们来探讨一下Struts1的核心概念。Struts1框架的主要目标是通过提供一种结构化的方式来组织和控制Web...
在Web开发领域,Struts1.x曾是广泛使用的框架,它帮助开发者构建结构清晰、易于维护的Web应用。这篇博文主要回顾了Struts1.x的关键特性和使用方法。 **1. MVC设计模式** Struts1.x的核心是MVC模式,它将业务逻辑...
Struts 1是一款经典的Java Web框架,由Apache软件基金会开发,它在2000年代初期广泛用于构建企业级Web应用程序。Struts 1的核心设计理念是实现MVC(Model-View-Controller)模式,帮助开发者将业务逻辑、数据模型和...
在学习过程中,通过提供的源代码实例,你可以更直观地了解Struts1的工作原理。 1. **Struts1概述**: - Struts1是Apache软件基金会下的一个项目,它提供了一种结构化的框架,简化了Java Servlet和JSP的开发。 - ...
需要注意的是,Struts 1.x虽然经典,但在现代开发中已被Struts 2或其他更现代的框架(如Spring MVC)所取代,学习时也应关注新技术的发展。不过,了解Struts 1的基础和原理对于理解其他框架的工作方式仍有帮助。
FormBean通常用来存储用户的输入数据,以便在后续处理中使用。 5. **调用ActionBean**:ActionServlet根据配置信息,将FormBean传递给对应的Action(ActionBean)。ActionBean是业务逻辑的执行者,它可以从FormBean...
【基于Struts1的博客系统】是一个典型的Java Web应用程序,它是使用...这些内容构成了整个基于Struts1的博客系统的运行基础,通过学习和分析这些文件,可以深入了解Struts1框架的工作原理及其在实际项目中的应用。
而ActionForm方式则是基于传统的Struts1的FormBean,将验证规则放在单独的Form类中。 在实际项目中,你可能还会遇到一些高级用法,比如自定义Validator,用于处理复杂的验证需求。这可以通过实现`org.apache.struts...
3. **Form填充**:ActionServlet接收请求后,将请求参数填充到对应的Form Bean中。 4. **派发请求**:根据`struts-config.xml`中的ActionConfig配置,ActionServlet将请求转发到特定的Action类,并传递formBean。 ...