动态FormBean的讲解
1,不需要创建ActionForm的子类。
在配置文件中:
<struts-config>
<form-beans>
<form-bean name="loginform"type="org.apache.struts.action.DynaActionForm">
<form-property name="username"type="java.lang.String"></form-property>
<form-property name="password"type="java.lang.String"></form-property>
</form-bean>
</form-beans>
<action-mappings>
<action path="/login" type="bdqn.action.LoginAction"name="loginform">
<forward name="success"path="/success.jsp"></forward>
<forward name="error" path="/error.jsp"></forward>
</action>
</action-mappings>
</struts-config>
首先在配置文件中,使用form-property节点来接收表单提交上来的值。Type是它对应的属性全称。
在Action中
@Override
public ActionForwardexecute(ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res) throws Exception {
DynaActionFormloginForm=(DynaActionForm)form;//强制转换
Stringusername=(String) loginForm.get("username");//接收动态FormBean的值。
Stringpassword=(String) loginForm.get("password");
if(username.equals("zhangsan") &&password.equals("123")){
return mapping.findForward("success");
}else{
return mapping.findForward("error");
}
}