01: /*
02: * JFox - The most lightweight Java EE Application Server!
03: * more details please visit http://www.huihoo.org/jfox or http://www.jfox.org.cn.
04: *
05: * JFox is licenced and re-distributable under GNU LGPL.
06: */
07: package org.jfox.mvc.annotation;
08:
09: import java.lang.annotation.ElementType;
10: import java.lang.annotation.Retention;
11: import java.lang.annotation.RetentionPolicy;
12: import java.lang.annotation.Target;
13:
14: import org.jfox.mvc.Invocation;
15:
16: /**
17: * 表示一个 Action 方法
18: * 用该 Annotation æ??述的方法,需è¦?满足以下æ?¡ä»¶
19: * 1.�有一个�数 Invotation
20: * 2.返回 Void 类型
21: * 3.抛出Exception异常
22: *
23: * @author <a href="mailto:jfox.young@gmail.com">Young Yang</a>
24: */
25: @Retention(RetentionPolicy.RUNTIME)
26: @Target({ElementType.METHOD})
27: public @interface ActionMethod {
28:
29: public static enum ForwardMethod {
30: FORWARD, REDIRECT
31: }
32:
33: public static enum HttpMethod {
34: GET, POST, ALL
35: }
36:
37: /**
38: * ActionMethod name,url访问时使用该å??称
39: */
40: String name();
41:
42: /**
43: * 调用�功时,跳转的页�
44: */
45: String successView();
46:
47: /**
48: * å?‘生错误时,跳转的页é?¢ï¼Œå¦‚果没有定义,讲直接在æµ?览器ä¸æ˜¾ç¤ºå¼‚常信æ?¯
49: */
50: String errorView() default "";
51:
52: /**
53: * 跳转的方�,默认为 forward
54: */
55: ForwardMethod forwardMethod() default ForwardMethod.FORWARD;
56:
57: /**
58: * 接�的Http调用类型
59: */
60: HttpMethod httpMethod() default HttpMethod.ALL;
61:
62: /**
63: * 用æ?¥ç»„装HttpRequestå?‚æ•°çš„ç±»ï¼Œä¸ºä¸€ä¸ªæ ‡å‡†çš„Java Bean,file name 与 form input name对应。
64: * MVC frameworkä¼šè‡ªåŠ¨æ ¹æ?®Field进行组装。
65: *
66: * å?¯ä»¥åœ¨fieldä¸ŠåŠ ä¸Švalidate annotationæ?¥è¿›è¡Œæ•°æ?®æ ¡éªŒã€‚
67: *
68: * 支æŒ? file uploadï¼Œæ–‡ä»¶ä¸Šä¼ çš„Field类型必须为 FileUploaded
69: */
70: Class<? extends Invocation> invocationClass() default Invocation.class;
71: }
|