防止表單重複提交(攔截器)一些struts2標籤的使用

一、創建一個javabean如下:

import java.io.Serializable;

public class Customer implements Serializable{

    private String name;
    private String password;
    private boolean married;
    private String hobby;
    private String city;
    private String description;
    private String gender;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public boolean isMarried() {
        return married;
    }
    public void setMarried(boolean married) {
        this.married = married;
    }
    public String getHobby() {
        return hobby;
    }
    public void setHobby(String hobby) {
        this.hobby = hobby;
    }
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    @Override
    public String toString() {
        return "Customer [name=" + name + ", password=" + password
                + ", married=" + married + ", hobby=" + hobby + ", city="
                + city + ", description=" + description + ", gender=" + gender
                + "]";
    }
}

二、jsp編寫如下
主要是struts2的標籤的使用

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>struts2中的一些其他標籤的使用</title>
    </head>
    <body>
        <s:form action="saveCustomer">  
            <s:token></s:token>
            <s:textfield name="name" label="用戶名"/>
            <s:password name="password" label="密碼"/>
            <s:checkbox name="married" label="已婚" value="true"/>    
            <s:checkboxlist name="hobby" list="{'喫飯','睡覺','打豆豆' }" label="愛好"/>
            <s:select name="city" list="#{'BJ':'北京','GS':'廣上','XM':'廈門'}" 
            headerKey="" headerValue="------請選擇-----" label="所在城市" />
            <s:textarea name="description" label="個人介紹" rows="5" cols="30"/>
            <s:radio name="gender" list="#{'male':'男','female':'女' }" label="性別" value="'male'" />
            <s:submit value="提交"></s:submit>
        </s:form>
    </body>
</html>

三、爲了防止表單重複提交,struts2使用了token標籤組合攔截器使用,標籤在上面以及寫出< s:proterty value=”token” />
tokenSession,因爲指定了攔截器就不會使用默認的攔截器,所有加上默認的攔截器

        <action name="saveCustomer" class="com.zeroyoung.web.action.Demo7Action" method="save">
            <interceptor-ref name="defaultStack" />
            <interceptor-ref name="tokenSession" />
            <result type="redirect">/demo6.jsp</result>
        </action>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章