`
zhengbocong
  • 浏览: 13771 次
  • 性别: 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文件一致

 

 

 

 

 

 

分享到:
评论

相关推荐

    Struts1.2动态FormBean加验证功能的一个例子

    Struts1.2动态FormBean 加 验证功能 的一个例子

    struts1和struts2的区别

    Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。 虽然,在理论上Struts2的...

    struts1&struts2

    2.Struts2和Struts1.x的... Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。 Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。

    谈谈你对Struts的理解。

     4.action执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward对象来表示的,actionforward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml...

    struts2 (对象.属性)注入

    在struts2中已经不需要struts1中的formbean了。在struts1中每次提交表单的时候,表单中的属性值都先赋予formbean,然后操作formbean。但是现在struts2中用对象.属性名来给对象赋值,然后操作这个对象。而这些对象都...

    Struts使用技巧和注意事项

    ----Struts 使用技巧---- 1 Struts validate 1.1 使用ActionForm的validate()验证 总体思路:这个验证是没有添加验证框架的验证,而是直接通过ActionForm的validate()方法进行系统验证, 进行验证要处理三个方面的...

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

    NULL 博文链接:https://zywang.iteye.com/blog/413003

    struts高级实战进阶

    回顾Struts的请求处理时序图 使用超连接的技巧 封装Formbean数据时的问题 防止表单重复提交 使用复选框的技巧 使用下拉列表框的技巧 文件上传 DispatchAction的应用 Validator框架 Struts请求处理过程的源码分析与...

    Struts原理、开发及项目实施

    流程:在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传...

    Struts_config.xml详解

    parameter="" //指定Actgion的配置参数,在Action类的execute()方法中,可以调用ActionMapping对象的getParameter()方法来读取该配置参数。(相当于初始化赋值) &gt;&gt;&gt; prefix=""// 指定填充当前 Action 关联 FormBean...

    Struts html:checkbox框初始默认是选中的解决方法

    在Struts中几种情况可以使标签初始就是选中的,Formbean里面该Property的值设为 1.on 、2.yes 、3.true 这三种情况都是可以实现默认选中的。 注:如果不选中,最好把Property的设置为””,因为在Action中得到...

    Myeclipse开发struts+hibernate+spring新手入门--环境配置---项目开发示例

    改配置可以自动生成,使用eclipse进行自动生成,在建立时,如下图,可直接生成对应的action类和formbean类。 1 2 &lt;!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...

    动态验证formbean

    介绍如何使用动态formbean的例子

    利用java反射校验struts中的form(含正则表达式)

    利用java反射校验struts中的formbean 在struts框架中,如果每次都去校验form中的每个字段,显然费时费力,本例通过java反射得到form中的字段和值,并较验,用于在与数据库交互之前的校验,从而防止数据库恶意注入. 随包...

    struts2验证示例

    使用struts2的验证模式,并在里面使用了formbean的模式。

    java 经典面试题 于网络分享

    B 在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证 C 用户每次提交表单,都会产生一个新的FormBean实例 D 动态FormBean不能进行验证操作 答案:A 8.以下哪些不是...

    json java读取 formbean操作

    NULL 博文链接:https://haixiami200411.iteye.com/blog/736554

    非常好的struts2教程

    回顾Struts的请求处理时序图 使用超连接的技巧 封装Formbean数据时的问题 防止表单重复提交 使用复选框的技巧 使用下拉列表框的技巧 文件上传 DispatchAction的应用 Validator框架 Struts请求处理过程的源码分析与...

    JAVA期末大作业课程设计基于SSH框架的管理系统.zip

    Struts框架的总控制器ActionServlet是一个Servlet,在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为Struts中不同的模块初始化相应的对象。(面向对象思想) ...

Global site tag (gtag.js) - Google Analytics