struts1——动态formbean
2015-08-12 00:00
302 查看
摘要: struts1——动态formbean:在struts-config.xml 设计表单字段,不用我们自己写formBean
下面是请求的html代码:
下面是struts-config.xml配置文件:
下面是java代码:
/*如果想要对表单数据进行校验,那么需要指定一个formBean,然后继承DynaActionForm*/
而对应校验的struts-config.xml如下:
下面是请求的html代码:
<body> <form action="${pageContext.request.contextPath }/register.do" method="post"> 用户名:<input type="text" name="username"><br/> 密码:<input type="text" name="password"><br/> 电子邮箱:<input type="text" name="email"><br/> <input type="submit" value="注册"> </form> </body> </html>
下面是struts-config.xml配置文件:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <form-beans> <form-bean name="UserFormBean" 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-property name="email" type="java.lang.String"></form-property> </form-bean> </form-beans> <action-mappings> <action path="/register" name="UserFormBean" type="cn.itcast.web.action.RegiserAction" input="/register.jsp"> </action> </action-mappings> </struts-config>
下面是java代码:
public class RegiserAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { DynaActionForm daf = (DynaActionForm) form; //username password String username = daf.getString("username"); String password = daf.getString("password"); String email = daf.getString("email"); System.out.println(username); /* 虽然动态的formBean没有username、password等这些属性,但是BeanUtils框架还是可以将动态Bean中的数据整到User中 因为BeanUtils从动态Bean中的Map集合中通过username、password等这些属性得到对应的值,然后将这些值整到User中 */ User user = new User(); BeanUtils.copyProperties(user, daf); //可以的 return super.execute(mapping, form, request, response); } }
/*如果想要对表单数据进行校验,那么需要指定一个formBean,然后继承DynaActionForm*/
public class UserFormBean extends DynaActionForm { /*formBean继承DynaActionForm了,就可以让struts自动生成formBean的属性:这些属性可以通过配置文件进行配置, <form-beans> <form-bean name="UserFormBean" type="cn.itcast.web.formbean.UserFormBean"> <form-property name="username" type="java.lang.String"></form-property> <form-property name="password" type="java.lang.String"></form-property> <form-property name="email" type="java.lang.String"></form-property> </form-bean> </form-beans> 但是校验的方法还是要我们自己的写*/ @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { String username = this.getString("username"); if(username==null || username.trim().equals("")){ ActionErrors errros = new ActionErrors(); errros.add("username",new ActionMessage("用户名不能为空",false)); return errros; } return null; } }
而对应校验的struts-config.xml如下:
<struts-config> <form-beans> <form-bean name="UserFormBean" type="cn.itcast.web.formbean.UserFormBean"> <form-property name="username" type="java.lang.String"></form-property> <form-property name="password" type="java.lang.String"></form-property> <form-property name="email" type="java.lang.String"></form-property> </form-bean> </form-beans> <action-mappings> <action path="/register" name="UserFormBean" type="cn.itcast.web.action.RegiserAction" input="/register.jsp"> </action> </action-mappings> </struts-config>
相关文章推荐
- struts1——Validator框架的校验过程
- eclipseRCP深入浅出(学习总结)2015.08.11
- Java垃圾回收机制 入门
- Java集合框架 入门
- Java异常处理机制
- MyEclipse设置Java代码注释模板
- JAVA 汉字ASCII范围
- springmvc 上传文件 type=file name=imagepath request转换出
- 解决一个少见的错误java.lang.NoClassDefFoundError
- eclipseRCP深入浅出(学习总结)2015.08.08
- 从源码来理解ArrayList和LinkedList区别
- Java并发教程
- java基础--多线程
- spring 之jdbcTemplate使用
- Java synchronized详解
- java一些常见常识
- java 重写的学习
- java 继承的学习(转)
- Java并发编程:volatile关键字解析
- Myeclipse 使用JDBC添加员工信息