zoukankan      html  css  js  c++  java
  • Struct2(五)处理表单

    简介:

    1.表单的提交

    表单和对应的Java模型的类

    在此次的例子中,我们将会模仿一个用户提交表单的动作,具体提交表单做什么,不关心,我们需要知道 first last Name,Email address ,age。

    为了封装这个数据,我们提供一个简单的java Class 来存储这个信息。

    Person.java

    package org.apache.struts.helloworld.model;
    public class Person
    {
        private String firstName;
        private String lastName;
        private String email;
        private int age;
     
        public String getFirstName()
        {
            return firstName;
        }
     
        public void setFirstName(String firstName)
        {
            this.firstName = firstName;
        }
     
        public String getLastName()
        {
            return lastName;
        }
     
        public void setLastName(String lastName)
        {
            this.lastName = lastName;
        }
     
        public String getEmail()
        {
            return email;
        }
     
        public void setEmail(String email)
        {
            this.email = email;
        }
     
        public int getAge()
        {
            return age;
        }
     
        public void setAge( int age)
        {
            this.age = age;
        }
     
     
        public String toString()
        {
            return "First Name: " + getFirstName() + " Last Name:  " + getLastName() + 
            " Email:      " + getEmail() + " Age:      " + getAge() ;
        }
    }
    表单的展示:
          register.jsp
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    
    <%@ taglib prefix="s" uri="/struts-tags" %>
    
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Register</title>
    </head>
    <body>
    <h3>Register for a prize by completing this form.</h3>
    <s:form action="register">
        <s:textfield name="personBean.firstName" label="First name" />
        <s:textfield name="personBean.lastName" label="Last name" />
        <s:textfield name="personBean.email"  label ="Email"/>  
        <s:textfield name="personBean.age"  label="Age"  />
    <s:submit/>
    </s:form> 
    </body>
    </html>

    我们使用了标签,则需要添加taglib 命令

    表单中定义了Action register,我们需要在structs.xml文件中生命。

    <action name="register" class="org.apache.struts.register.action.Register" method="execute">
          <result name="success">/ThankYou.jsp</result>
        </action>

     

    增加注册动作对应的Action

    package org.apache.struts.register.action;
    
    import org.apache.struts.model.Person;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class Register extends ActionSupport {
    
        private static final long serialVersionUID = 1L;
    
        private Person personBean;
    
        @Override
        public String execute() throws Exception {
    
            // call Service class to store personBean's state in database
    
            return SUCCESS;
    
        }
    
        public Person getPersonBean() {
    
            return personBean;
    
        }
    
        public void setPersonBean(Person person) {
    
            personBean = person;
    
        }
    
    }

    定义展示的ThankYou.jsp页面:

    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"     pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Registration Successful</title>
    </head>
    <body>
    <h3>Thank you for registering for a prize.</h3>   <p>Your registration information: <s:property value="personBean" /> </p>   <p><a href="<s:url action='index' />" >Return to home page</a>.</p>   </body>
    </html>

    在index.jsp中添加:

    <p><a href="register.jsp">Please register</a> for our prize drawing.</p>

    能够定位到register.jsp页面。

    测试:

    1. index.action

    image

    2. 点击注册

    image

    3.提交

    image

  • 相关阅读:
    KnockoutJS 3.X API 第五章 高级应用(4) 自定义处理逻辑
    KnockoutJS 3.X API 第五章 高级应用(3) 虚拟元素绑定
    KnockoutJS 3.X API 第五章 高级应用(2) 控制后代绑定
    KnockoutJS 3.X API 第五章 高级应用(1) 创建自定义绑定
    KnockoutJS 3.X API 第四章(14) 绑定语法细节
    KnockoutJS 3.X API 第四章(13) template绑定
    KnockoutJS 3.X API 第四章 表单绑定(12) selectedOptions、uniqueName绑定
    KnockoutJS 3.X API 第四章 表单绑定(11) options绑定
    KnockoutJS 3.X API 第四章 表单绑定(10) textInput、hasFocus、checked绑定
    KnockoutJS 3.X API 第四章 表单绑定(9) value绑定
  • 原文地址:https://www.cnblogs.com/zhailzh/p/3990486.html
Copyright © 2011-2022 走看看