質問編集履歴
2
ソースコードの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -41,6 +41,7 @@
|
|
41
41
|
@CommonProc
|
42
42
|
@RequestMapping("/hello")
|
43
43
|
public String hello(){
|
44
|
+
(何かしらの処理)
|
44
45
|
}
|
45
46
|
```
|
46
47
|
|
@@ -49,11 +50,13 @@
|
|
49
50
|
```CommonProcess.java
|
50
51
|
@ModelAttribute
|
51
52
|
public void beforeProc(){
|
53
|
+
(何かしらの処理)
|
52
54
|
}
|
53
55
|
```
|
54
56
|
|
55
57
|
```TestController.java
|
56
58
|
public class TestController extends CommonProcess{
|
59
|
+
(何かしらの処理)
|
57
60
|
}
|
58
61
|
```
|
59
62
|
### 補足情報
|
1
ソースコードを追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -17,13 +17,45 @@
|
|
17
17
|
各コントローラーに独自アノテーションを付け、それをもとに実行する事前処理を判定する。
|
18
18
|
→共通処理の分だけ条件分岐を作る必要がある。新たに共通処理を作成したら、インターセプタークラスに条件分岐を追加しないといけない。
|
19
19
|
|
20
|
-
|
21
20
|
2. @ModelAttributeを使う
|
22
21
|
@ModelAttributeを付けたメソッドは、RequestMappingしたメソッドの直前に呼ばれます。
|
23
22
|
このアノテーションを付けたメソッドを単独のクラスとして作成し、これを各コントローラーが継承することで、同じ処理を複数のコントローラーで実行できる。
|
24
23
|
→本来の使い方では無さそう
|
25
24
|
|
26
25
|
|
26
|
+
### ソースコード
|
27
|
+
1. インターセプターを使用
|
28
|
+
```SampleInterceptor.java
|
29
|
+
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
30
|
+
|
31
|
+
HandlerMethod hm = (HandlerMethod) handler;
|
32
|
+
Method method = hm.getMethod();
|
33
|
+
CommonProc annotation = AnnotationUtils.findAnnotation(method, CommonProc.class);
|
34
|
+
if (annotation != null) {
|
35
|
+
log.info(String.format("exclude login check %s", requestURI));
|
36
|
+
return true;
|
37
|
+
}
|
38
|
+
```
|
39
|
+
|
40
|
+
```SampleController.java
|
41
|
+
@CommonProc
|
42
|
+
@RequestMapping("/hello")
|
43
|
+
public String hello(){
|
44
|
+
}
|
45
|
+
```
|
46
|
+
|
47
|
+
|
48
|
+
2.ModelAttributeを使う
|
49
|
+
```CommonProcess.java
|
50
|
+
@ModelAttribute
|
51
|
+
public void beforeProc(){
|
52
|
+
}
|
53
|
+
```
|
54
|
+
|
55
|
+
```TestController.java
|
56
|
+
public class TestController extends CommonProcess{
|
57
|
+
}
|
58
|
+
```
|
27
59
|
### 補足情報
|
28
60
|
|
29
61
|
spring framework 4.3.21
|