質問するログイン新規登録

質問編集履歴

2

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

2018/04/26 03:22

投稿

daichaso
daichaso

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,9 @@
1
+ ### 前提・実現したいこと
2
+
1
3
  URLで以下のように指定がある場合に項目ごとに変数に入れたい。(1つしかないものはListではなくStringやint、booleanに格納する)
2
4
 
3
5
 
4
- http://xxx.jp/a/b/c/d-e/f
6
+ http://xxx.jp/a1/b2/c3/d4-e5/f6
5
7
  aはString
6
8
  bはboolean
7
9
  cとd-e、fはList<String>とします。
@@ -9,9 +11,48 @@
9
11
  xxx.jpまではサーバルート情報で同じなのでそれ以降が必要となるため
10
12
  httpServletRequestのgetRequestURIを使用して
11
13
  /a/b/c/d-e/f
12
- を取得する。
13
- これを/で分割する。
14
- ここまは出来てり、そ後の処理になります。
14
+ を取得し、/分割を行いパラメータのチェックよび変数へ格納を行います。
15
15
 
16
+ ### 該当のソースコード
17
+
18
+ ```Java
19
+ public boolean test(HttpServletRequest request, HttpServletResponse response) {
20
+ String resultA = "";
21
+ boolean resultB = false;
22
+ List<String> resultC = new ArrayList<>();
23
+ List<String> resultD = new ArrayList<>();
24
+ List<String> resultF = new ArrayList<>();
25
+ //URI部分の取得
26
+ String uri = request.getRequestURI(); //ここで/a/b/c/d-e/fが取得できている。
27
+ //「/」で分割する。
28
+ String[] uriAry = uri.split("/");
29
+ //URIの先頭が「/」であり1つめは必ず空白になるためループは1から回す。
30
+ for (int i = 1; i < uriAry.length; i++) {
31
+ if (uriAry[i].startsWith("a")) {
32
+ resultA = uriAry[i].substring(uriAry[i].indexOf("a") + 1);
33
+ }
34
+ if (uriAry[i].startsWith("b")) {
35
+ resultB = uriAry[i].substring(uriAry[i].indexOf("b") + 1);
36
+ }
37
+ if (uriAry[i].startsWith("c")) {
38
+ resultC.add(uriAry[i].substring(uriAry[i].indexOf("c") + 1));
39
+ }
40
+ if (uriAry[i].startsWith("d")) {
41
+ resultD.add(uriAry[i].substring(uriAry[i].indexOf("d") + 1));
42
+
43
+ }
44
+ if (uriAry[i].startsWith("f")) {
45
+ resultF.add(uriAry[i].substring(uriAry[i].indexOf("f") + 1));
46
+
47
+ }
48
+ }
49
+ }
50
+ ```
51
+
52
+ ###問題点、悩み
16
- また、別クラスからこのURLのパラメータ取得だけを行いたい場合にメインメソッドではなく別メソッドに出しておかないといけないかと思います。
53
+ 別クラスからこのURLのパラメータ取得だけを行いたい場合にメインメソッドではなく別メソッドに出しておかないといけないかと思います。
17
- その際にまとめて行い、1つの変数にしてreturnする方法なども知れたらと思います。
54
+ その際にまとめて行い、1つの変数にしてreturnする方法なども知れたらと思います。
55
+
56
+ ### 補足情報(FW/ツールのバージョンなど)
57
+
58
+ Java8、Spring

1

2018/04/26 03:22

投稿

daichaso
daichaso

スコア7

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