zoukankan      html  css  js  c++  java
  • Struts 1.2笔记:ActionForm中scope为session的情况分布式收集数据

        本文的示例将创建几个页面,每个页面将会有一些信息需要用户填写,最后将这几个信息全部收集起来呈现。这就是分布式收集数据。

    1.数据收集页面

    step1.jsp

    <%@ page language="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
    <title>用户信息</title>
    </head>
    <body>
     <h1>用户信息</h1><hr>
     <form action="step1.do" method="post">
      姓名:<input type="text" name="username"/><br>
      <input type="submit" value="下一步"/>
     </form>
    </body>
    </html>

     

    step2.jsp

    <%@ page language="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
    <title>产品信息</title>
    </head>
    <body>
     <h1>产品信息</h1><hr>
     <form action="step2.do" method="post">
      <input type="checkbox" name="productID" value="1"/>产品1<br>
      <input type="checkbox" name="productID" value="2"/>产品2<br>
      <input type="checkbox" name="productID" value="3"/>产品3<br>
      <input type="checkbox" name="productID" value="4"/>产品4<br>
      <input type="checkbox" name="productID" value="5"/>产品5<br><p>
      <input type="submit" value="下一步"/>
     </form>
    </body>
    </html>

     

    step3.jsp

    <%@ page language="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
    <title>地址信息</title>
    </head>
    <body>
     <h1>地址信息</h1><hr>
     <form action="step3.do" method="post">
      地址:<input type="text" name="address"/><br>
      <input type="submit" value="下一步"/>
     </form>
    </body>
    </html>

     

    finish.jsp

    <%@ page language="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>   
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
    <title>确认订单</title>
    </head>
    <body>
     <h1>确认订单</h1>
     <hr>
     <form action="finish.do" method="post">
      姓名:${stepForm.username }<br>
      产品:
      <c:forEach items="${stepForm.productID}" var="p" varStatus="vs">
       产品${p }
       <c:if test="${vs.count != fn:length(stepForm.productID)}" var="v">
        ,
       </c:if>
      </c:forEach>
      
      <br>
      地址:${stepForm.address }<br>
      <input type="submit" value="确认">
     </form>
    </body>
    </html>

     

    2.StepActionForm.java

    package com;

    import org.apache.struts.action.ActionForm;

    public class StepActionForm extends ActionForm {

     
     private static final long serialVersionUID = 1L;
     
     private String username;
     private int[] productID;
     private String address;
     
     public String getUsername() {
      return username;
     }
     public void setUsername(String username) {
      this.username = username;
     }
     public int[] getProductID() {
      return productID;
     }
     public void setProductID(int[] productID) {
      this.productID = productID;
     }
     public String getAddress() {
      return address;
     }
     public void setAddress(String address) {
      this.address = address;
     }
     public void resetField() {
      this.username = null;
      this.productID = null;
      this.address = null;
     }
    }

     3.action

    StartAction.java

     

    package com;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;

    public class StartAction extends Action {

     @Override
     public ActionForward execute(ActionMapping mapping, ActionForm form,
       HttpServletRequest request, HttpServletResponse response)
       throws Exception {
      StepActionForm saf = (StepActionForm)form;
      saf.resetField();
      return mapping.findForward("success");
     }
    }

     

    Step1Action.java,Step2Action.java,Step3Action.java,FinishAction.java都相同

     

    package com;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;

    public class Step1Action extends Action {

     @Override
     public ActionForward execute(ActionMapping mapping, ActionForm form,
       HttpServletRequest request, HttpServletResponse response)
       throws Exception {
      return mapping.findForward("success");
     }
    }

     

    3.struts-config.xml

     

    <?xml version="1.0" encoding="ISO-8859-1" ?>

    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

    <struts-config>
     
     <form-beans>
      <form-bean name="stepForm" type="com.bjsxt.struts.StepActionForm"/>
     </form-beans>
     
     <action-mappings>
      <action path="/start"
        type="com.bjsxt.struts.StartAction"
        name="stepForm"
        scope="session"
      >
       <forward name="success" path="/step1.jsp"/>
      </action>
      
      <action path="/step1"
        type="com.bjsxt.struts.Step1Action"
        name="stepForm"
        scope="session"
      >
       <forward name="success" path="/step2.jsp"/>
      </action>

      <action path="/step2"
        type="com.bjsxt.struts.Step2Action"
        name="stepForm"
        scope="session"
      >
       <forward name="success" path="/step3.jsp"/>
      </action>

      <action path="/step3"
        type="com.bjsxt.struts.Step3Action"
        name="stepForm"
        scope="session"
      >
       <forward name="success" path="/finish.jsp"/>
      </action>

      <action path="/finish"
        type="com.bjsxt.struts.FinishAction"
        name="stepForm"
        scope="session"
      >
       <forward name="success" path="/success.jsp"/>
      </action>
      
     </action-mappings>
    </struts-config>

     

  • 相关阅读:
    css 样式库
    css命名规则
    css选择器
    清除浏览器自带样式
    导航菜单制作
    清除浮动和样式重置快捷代码
    程序练习网站
    各种布局样式模板
    使用gulp解决外部编辑器修改Eclipse文件延迟刷新
    jQuery Validate 表单验证 — 用户注册简单应用
  • 原文地址:https://www.cnblogs.com/feifeihu/p/2640161.html
Copyright © 2011-2022 走看看