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");
学习_Java_Base_Struts_Action or Form
最新推荐文章于 2017-05-16 21:01:00 发布