学习_Java_Base_Struts_Action or Form

Struts  之  Struts-Action or Form
FormBean的意义
-“数据邮递员”
可以从页面到Action,或从Action到页面来传递数据
-获得请求参数
代替了request.getParameter("")方法
-提供了集中的验证方法
validate();
-自动转载重新显示数据
在验证中很有意义

定义FormBean
-定义一个FormBean继承ActionForm
-针对JSP页面中Form表单的属性创建getter()、setter()方法,例如

package com.zhaofei.zz;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

@SuppressWarnings("serial")
public class TestBean extends ActionForm {

	private String userName = "zhaofei";
	private String passWord = "123456";

	@Override
	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {
		// TODO Auto-generated method stub
		return super.validate(mapping, request);
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassWord() {
		return passWord;
	}

	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}

}

-声明FormBean
-声明
<form-beans>
		<form-bean name="loginForm" type="com.zhaofei.forms.LoginForm"></form-bean>	
</form-beans>

name:formBean的名称
type:formBean的类全名

-和Action关联在一起  
<action path="/login" type="com.zhaofei.action.LoginAction" name="loginForm">  注释  关联是因为name与上面的bean里面的name相同
			<forward name="success" path="/Success.jsp" />
			<forward name="failure" path="/Failure.jsp" />
</action>

-在Action的execute方法中使用
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response)
		throws Exception {
	// TODO Auto-generated method stub]
	LoginForm loginForm=(LoginForm)form;
	String userName=loginForm.getUserName();
	return null;
}
-从FormBean中获得请求参数
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response)
		throws Exception {
	// TODO Auto-generated method stub]
	LoginForm loginForm=(LoginForm)form;
	String userName=loginForm.getUserName();
	return null;
}
-输出FormBean数据到页面
-使用Struts标签
<bean: write name="loginForm" property="userName"/>
-name:form Bean的名称(在struts-config.xml文件中声明的)
-property:form Bean的属性
-使用表达式语言(EL)
${loginForm.userName}


动态FormBean
-意义
使用动态Bean的意义上减少Bean的个数
-动态FormBean类
org.apache.struts.action.DynaActionForm
-配置
<form-beans>
	<form-bean name="loginForm" type="com.zhaofei.forms.LoginForm"></form-bean>
		<form-property name="username" type="java.lang.String" />
		<form-property name="password" type="java.lang.String" />

</form-beans>

-取值
DynaActionForm loginForm = (DynaActionForm)f;
String username = (String) loginForm.get("username");
String password = (String) loginForm.get("password");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值