質問編集履歴

2

テンプレートを使用するように変更

2018/04/26 03:22

投稿

daichaso
daichaso

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,14 @@
1
+ ### 前提・実現したいこと
2
+
3
+
4
+
1
5
  URLで以下のように指定がある場合に項目ごとに変数に入れたい。(1つしかないものはListではなくStringやint、booleanに格納する)
2
6
 
3
7
 
4
8
 
5
9
 
6
10
 
7
- http://xxx.jp/a/b/c/d-e/f
11
+ http://xxx.jp/a1/b2/c3/d4-e5/f6
8
12
 
9
13
  aはString
10
14
 
@@ -20,14 +24,92 @@
20
24
 
21
25
  /a/b/c/d-e/f
22
26
 
23
- を取得する。
24
-
25
- これを/で分割する。
26
-
27
- ここまは出来てり、そ後の処理になります。
27
+ を取得し、/分割を行いパラメータのチェックよび変数へ格納を行います。
28
28
 
29
29
 
30
30
 
31
+ ### 該当のソースコード
32
+
33
+
34
+
35
+ ```Java
36
+
37
+ public boolean test(HttpServletRequest request, HttpServletResponse response) {
38
+
39
+ String resultA = "";
40
+
41
+ boolean resultB = false;
42
+
43
+ List<String> resultC = new ArrayList<>();
44
+
45
+ List<String> resultD = new ArrayList<>();
46
+
47
+ List<String> resultF = new ArrayList<>();
48
+
49
+ //URI部分の取得
50
+
51
+ String uri = request.getRequestURI(); //ここで/a/b/c/d-e/fが取得できている。
52
+
53
+ //「/」で分割する。
54
+
55
+ String[] uriAry = uri.split("/");
56
+
57
+ //URIの先頭が「/」であり1つめは必ず空白になるためループは1から回す。
58
+
59
+ for (int i = 1; i < uriAry.length; i++) {
60
+
61
+ if (uriAry[i].startsWith("a")) {
62
+
63
+ resultA = uriAry[i].substring(uriAry[i].indexOf("a") + 1);
64
+
65
+ }
66
+
67
+ if (uriAry[i].startsWith("b")) {
68
+
69
+ resultB = uriAry[i].substring(uriAry[i].indexOf("b") + 1);
70
+
71
+ }
72
+
73
+ if (uriAry[i].startsWith("c")) {
74
+
75
+ resultC.add(uriAry[i].substring(uriAry[i].indexOf("c") + 1));
76
+
77
+ }
78
+
79
+ if (uriAry[i].startsWith("d")) {
80
+
81
+ resultD.add(uriAry[i].substring(uriAry[i].indexOf("d") + 1));
82
+
83
+
84
+
85
+ }
86
+
87
+ if (uriAry[i].startsWith("f")) {
88
+
89
+ resultF.add(uriAry[i].substring(uriAry[i].indexOf("f") + 1));
90
+
91
+
92
+
93
+ }
94
+
95
+ }
96
+
97
+ }
98
+
99
+ ```
100
+
101
+
102
+
103
+ ###問題点、悩み
104
+
31
- また、別クラスからこのURLのパラメータ取得だけを行いたい場合にメインメソッドではなく別メソッドに出しておかないといけないかと思います。
105
+ 別クラスからこのURLのパラメータ取得だけを行いたい場合にメインメソッドではなく別メソッドに出しておかないといけないかと思います。
32
106
 
33
107
  その際にまとめて行い、1つの変数にしてreturnする方法なども知れたらと思います。
108
+
109
+
110
+
111
+ ### 補足情報(FW/ツールのバージョンなど)
112
+
113
+
114
+
115
+ Java8、Spring

1

2018/04/26 03:22

投稿

daichaso
daichaso

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1,49 +1,33 @@
1
- ### 前提・実現したいこと
1
+ URLで以下のように指定がある場合に項目ごとに変数に入れたい。(1つしかないものはListではなくStringやint、booleanに格納する)
2
2
 
3
3
 
4
4
 
5
- ここに質問の内容を詳しく書いてください。
5
+
6
6
 
7
- (例)PHP(CakePHP)で●●なシステムを作っています。
7
+ http://xxx.jp/a/b/c/d-e/f
8
8
 
9
+ aはString
10
+
11
+ bはboolean
12
+
9
- ■■な機能を実装中に以下のエラーメッセージが発生しました
13
+ cとd-e、fはList<String>としま
10
14
 
11
15
 
12
16
 
17
+ xxx.jpまではサーバルート情報で同じなのでそれ以降が必要となるため
18
+
19
+ httpServletRequestのgetRequestURIを使用して
20
+
21
+ /a/b/c/d-e/f
22
+
23
+ を取得する。
24
+
25
+ これを/で分割する。
26
+
13
- ### 発生しいる問題・エラーメッセージ
27
+ ここまでは出来おり、その後の処理になります。
14
28
 
15
29
 
16
30
 
17
- ```
31
+ また、別クラスからこのURLのパラメータ取得だけを行いたい場合にメインメソッドではなく別メソッドに出しておかないといけないかと思います。
18
32
 
19
- エラーメッセージ
20
-
21
- ```
22
-
23
-
24
-
25
- ### 該当のソースコード
26
-
27
-
28
-
29
- ```ここに言語名を入力
30
-
31
- ソースコード
32
-
33
- ```
34
-
35
-
36
-
37
- ### 試したこと
38
-
39
-
40
-
41
- ここ問題して試しを記載してください。
33
+ その際まとめて行い、1つの変数にしてreturnする方法なども知れます
42
-
43
-
44
-
45
- ### 補足情報(FW/ツールのバージョンなど)
46
-
47
-
48
-
49
- ここにより詳細な情報を記載してください。