Token.java 995 Bytes
package com.cjs.site.util.web;

import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.METHOD;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 防止客户重复提交表单<br>
 * <b>此注解只在被@RequestMapping标注的方法上生效。</b>
 * 
 * @author tongyufu
 *
 */
//表示@CheckCase 可以被用在方法, 字段或者annotation声明上.
@Target({ METHOD, ANNOTATION_TYPE })
//表示这个标注信息是在运行期通过反射被读取的.
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Token {

    /**此参数标记在表单页面,将生成Token*/
    boolean save() default false;

    /**此参数标记在表单提交Action,将验证并移除Token*/
    boolean remove() default false;

    /**根据业务分组,防止不同业务之间冲突*/
    String group();
}