Java Servlet 初学者:如何正确使用重复注解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计307个文字,预计阅读时间需要2分钟。
刚需要用到重复注释:下面进行示例,不超过100个字:
1、先正确定义一个注释:@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})@Inheritedpublic @interface Require { String paraName();}
刚好需要用到重复注解:
下面进行示例使用:
1、先正常定义一个注解:
@Retention(value = RetentionPolicy.RUNTIME)@Target(value = {ElementType.METHOD} )
@Inherited
public @interface Require {
String paraName() default "";
boolean isRequire() default true;
String regex() default "";
String cnParaName() default "";
String emptyTip() default "";
String regexTip() default "";
}
2、定义一个重复的注解:(名称加了个s)
@Retention(value = RetentionPolicy.RUNTIME)@Target(value = {ElementType.METHOD} )
@Inherited
@interface Requires {
Require[] value();
}
几个小注意事项:
2、修饰符public可以改成默认包内允许,对外隐藏掉。
3、给原来的正常定义再加上一个注解:
@Repeatable(Requires.class) //加上了这一行。@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD} )
@Inherited
public @interface Require {
String paraName() default "";
boolean isRequire() default true;
String regex() default "";
String cnParaName() default "";
String emptyTip() default "";
String regexTip() default "";
}
使用:
"id")@Require(paraName="name",cnParaName="姓名")
public void idName2() {
write("id : "+query("id")+"<br/>");
write("name : "+query("name")+"<br/>");
}
本文共计307个文字,预计阅读时间需要2分钟。
刚需要用到重复注释:下面进行示例,不超过100个字:
1、先正确定义一个注释:@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})@Inheritedpublic @interface Require { String paraName();}
刚好需要用到重复注解:
下面进行示例使用:
1、先正常定义一个注解:
@Retention(value = RetentionPolicy.RUNTIME)@Target(value = {ElementType.METHOD} )
@Inherited
public @interface Require {
String paraName() default "";
boolean isRequire() default true;
String regex() default "";
String cnParaName() default "";
String emptyTip() default "";
String regexTip() default "";
}
2、定义一个重复的注解:(名称加了个s)
@Retention(value = RetentionPolicy.RUNTIME)@Target(value = {ElementType.METHOD} )
@Inherited
@interface Requires {
Require[] value();
}
几个小注意事项:
2、修饰符public可以改成默认包内允许,对外隐藏掉。
3、给原来的正常定义再加上一个注解:
@Repeatable(Requires.class) //加上了这一行。@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD} )
@Inherited
public @interface Require {
String paraName() default "";
boolean isRequire() default true;
String regex() default "";
String cnParaName() default "";
String emptyTip() default "";
String regexTip() default "";
}
使用:
"id")@Require(paraName="name",cnParaName="姓名")
public void idName2() {
write("id : "+query("id")+"<br/>");
write("name : "+query("name")+"<br/>");
}

