zoukankan      html  css  js  c++  java
  • 实现跨页表单的提交

    主要应用就是注册信息太多,以多个页面进行逐步注册操作,大概的原理就是一个ActionForm对应多个Action

    1,建立一个ActionForm,有3个域,分别是name,password,email,不用添加JSP

    2.建立一个jsp,名字叫register1.jsp,代码如下

    <html:form action="/register1.do" method="post">
        username:<html:text property="username"/>
        <html:errors property="username" />
        password:<html:text property="password"/>
        <html:errors property="password" />
        <input type="hidden" name="page" value="1"/>
        <html:submit/>
    

    3.建立另外一个jsp,名字叫register2.jsp,代码如下

    <html:form action="/register1.do" method="post">
    username:
    <html:text property="username"/>
    <html:errors property="username" />
    password:
    <html:text property="password"/>
    <html:errors property="password" />
    <input type="hidden" name="page" value="1"/>
    <html:submit/>

    4.建立2个Action,分别是/register1和/register2,如下图所示

    5.编辑ActionForm的validate方法写入针对表单域的验证代码

    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    ActionErrors errors
    =new ActionErrors();
    if (request.getParameter("page").equals("1")) {
    if ("".equals(request.getParameter("username"))) {
    errors.add(
    "username",new ActionMessage("usernamenull"));
    }
    if ("".equals(request.getParameter("password"))) {
    errors.add(
    "password", new ActionMessage("passwordnull"));
    }
    }
    if (request.getParameter("page").equals("2")) {
    if ("".equals(request.getParameter("email"))) {
    errors.add(
    "email", new ActionMessage("emailnull"));
    }
    }
    return errors;
    }

    6.编辑资源文件

    7.编辑Register1Action代码,主要是跳到输入email的页面,代码如下

    PersonalForm personalForm = (PersonalForm) form;// TODO Auto-generated method stub
    System.out.println(personalForm.getUsername());
    System.out.println(personalForm.getPassword());
    return mapping.findForward("step2");

    8.编辑Register2Action代码,主要是输出用户名,密码,邮箱地址,完成注册

    PersonalForm personalForm = (PersonalForm) form;// TODO Auto-generated method stub
    System.out.println(personalForm.getUsername());
    System.out.println(personalForm.getPassword());
    System.out.println(personalForm.getEmail());
    return null;
    9.增加一个ActionForward

    10.最后就是测试,经过测试,完成功能实现。

  • 相关阅读:
    [ jquery 选择器 :hidden ] 此方法选取匹配所有不可见元素,或者type为hidden的元素
    剑指 Offer 03. 数组中重复的数字 哈希
    LeetCode 1736. 替换隐藏数字得到的最晚时间 贪心
    Leetcode 1552. 两球之间的磁力 二分
    Leetcode 88. 合并两个有序数组 双指针
    LeetCode 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
    LeetCode 1743. 相邻元素对还原数组 哈希
    LeetCode 1745. 回文串分割 IV dp
    剑指 Offer 47. 礼物的最大价值 dp
    剑指 Offer 33. 二叉搜索树的后序遍历序列 树的遍历
  • 原文地址:https://www.cnblogs.com/cookies9/p/1931362.html
Copyright © 2011-2022 走看看