package org.sothis.mvc.interceptors.param;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Action方法的参数注入注解<br>
*
* <pre>
* class UserController{
* public void loginAction(@Param(name="username") String username, @Param(name="password") password){
* User user = dao.findByUsername(username);
* if(user.password.equals(password)){
* ...
* }else{
* ...
* }
* }
* }
* </pre>
*
* @author velna
*
*/
@Target({ ElementType.PARAMETER, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Param {
/**
* 请求中的参数名
*
* @return
*/
String name() default "";
/**
* 正则表达式匹配,只有匹配才会进行参数注入。对于{@link Date}类型则对应{@link SimpleDateFormat}的pattern
*
* @return
*/
String pattern() default "";
}