質問編集履歴

5

修正

2020/11/20 04:37

投稿

EDM
EDM

スコア30

test CHANGED
@@ -1 +1 @@
1
- 削除リクエスト却下の場合
1
+ 動的に指定した値を入れる処理
test CHANGED
@@ -1,3 +1,221 @@
1
+ 画面にフォームの受信日From,受信日Toというテキストボックスがあります。
2
+
3
+ 両方日付を入力してsubmitし、色々介しながら入力内容をバインドし、SQLにてbetween :uketsukebiFrom AND :uketsukebiTo をすることにより、入力した範囲のデータをデータベースから出力することができています。
4
+
5
+ そこで次の工程として、Fromには入力、Toには未入力の場合、プログラムで指定した値が自動的にtoに入り、その範囲内のデータを表示させたい。それぞれが独立したテキストボックスとして利用したい。逆もしかり。
6
+
7
+ 例として
8
+
9
+ 受信日From ”2000-1-1” 受信日To "未入力" でsubmitすると自動的に未入力に本日の日付が入りその範囲のデータを出力。
10
+
11
+ 受信日From "未入力" 受信日To "2020-12-31" でsubmitすると自動的に未入力に"2000-1-1"が入りその範囲のデータを出力。
12
+
13
+ もちろん通常通り二つとも入力した場合もその範囲のデータを出力
14
+
15
+
16
+
17
+ その自動的に指定した値を入れる処理についてequalsを使用した処理を書きたいのですがどのように書けばいいのかわかりません。
18
+
19
+ equalsの書き方はcheckboxの時にやったことはありますがそれとは違うためよく理解できていません。
20
+
21
+ Serviceのtry-catchの部分です。
22
+
23
+ SQLも今のままでいいのか orで 区切っていくのか
24
+
25
+ 例えば
26
+
27
+ (between :uketsukebiFrom AND :uketsukebiTo)or (between :uketsukebiFrom1 AND :uketsukebiTo)みたいに自動的に入った場合はバインドの名前を変えるようにするみたいな。
28
+
29
+
30
+
31
+ ちなみにデータベースにある受信日はDate型、テキストに入力する際はString型だがその変換はできている。java.sql.Dateのところ。
32
+
33
+ コードは本当に必要なところだけ抜粋しています。
34
+
35
+
36
+
37
+ ```search
38
+
39
+ <form:form modelAttribute="SearchBean"
40
+
41
+ action="Search_search.htm" method="POST">
42
+
43
+ <table border="1">
44
+
45
+ <tr>
46
+
47
+ <th rowspan="2">受付日</th>
48
+
49
+ <th>(from)</th>
50
+
51
+ <td><input type="text" name="From"></td>
52
+
1
- 削除リクエスト却下された質問って
53
+ </tr>
54
+
2
-
55
+ <tr>
56
+
57
+ <th>(to)</th>
58
+
59
+ <td><input type="text" name="To"></td>
60
+
61
+ </tr>
62
+
63
+ </table>
64
+
65
+ <input type="submit" name="search"value="検索">
66
+
67
+ </form:form>
68
+
69
+ <c:forEach var="row" items="${ResultBean.list}">
70
+
71
+ <tr>
72
+
73
+ <td>${row.uketsukebi}</td>
74
+
75
+ </tr>
76
+
77
+ </c:forEach>
78
+
79
+ ```
80
+
81
+
82
+
83
+ ```controller
84
+
85
+ //Search.jspにてsubmit(検索)がクリックされた時
86
+
87
+ @RequestMapping(value="Search_search",method=RequestMethod.POST)
88
+
89
+ public ModelAndView Search_search(@ModelAttribute("searchBean") SearchBean searchBean)
90
+
91
+ {
92
+
93
+ ResultBean result = Service.selectService(searchBean);
94
+
95
+ ModelAndView mv = new ModelAndView("search");
96
+
97
+ mv.addObject("searchBean",searchBean);
98
+
99
+ mv.addObject("resultBean",result);
100
+
101
+ return mv;
102
+
103
+ }
104
+
105
+ ```
106
+
107
+
108
+
109
+ ```SearchBean
110
+
111
+ protected String from;
112
+
3
- 編集で文言変えたらいけるんちゃうのかな?
113
+ protected String to;
114
+
115
+ ```
116
+
117
+ ```ResultBean.java
118
+
119
+ protected int count ;
120
+
121
+ protected List<SearchDto> list;
122
+
123
+ ```
124
+
125
+ ```Service
126
+
127
+ public ResultBean selectService(SearchBean searchBean)
128
+
129
+ {
130
+
131
+ try
132
+
133
+ {
134
+
135
+ //ここの部分です。
136
+
137
+ **if(searchBean.from =.equals(searchBean.getFrom(null)))
138
+
139
+ {
140
+
141
+ searchBean.From() = "2000-1-1"; //入力するときはまだStringのはず
142
+
143
+ }
144
+
145
+ if(searchBean.to =.equals(searchBean.getTo(null)))
146
+
147
+ {
148
+
149
+ searchBean.From() = "2020-12-31"; 
150
+
151
+ }**
152
+
153
+ java.sql.Date FROM = java.sql.Date.valueOf(searchBean.getFrom());
154
+
155
+ java.sql.Date TO = java.sql.Date.valueOf(searchBean.getTo());
156
+
157
+
158
+
159
+ List<SearchDto> list = searchDao.select(FROM,TO);
160
+
161
+ return new ResultBean(list.size(),list);
162
+
163
+ }
164
+
165
+ catch (Exception e)
166
+
167
+ {
168
+
169
+ e.printStackTrace();
170
+
171
+ return new ResultBean
172
+
173
+ (-1,null);
174
+
175
+ }
176
+
177
+ }
178
+
179
+ ```
180
+
181
+ ```SearchDto
182
+
183
+ protected Date uketsukebi;
184
+
185
+ ```
186
+
187
+ ```SearchDao
188
+
189
+ public List<SearchDto> select(java.sql.Date FROM,java.sql.Date TO)
190
+
191
+ {
192
+
193
+ String sql = properties.getProperty
194
+
195
+ ("jdbc.sql.select");
196
+
197
+ RowMapper rm = new BeanPropertyRowMapper<SearchDto>
198
+
199
+ (SearchDto.class);
200
+
201
+ MapSqlParameterSource namedParam =
202
+
203
+ new MapSqlParameterSource();
204
+
205
+ namedParam.addValue("uketsukebiFrom",FROM,Types.DATE);
206
+
207
+ namedParam.addValue("uketsukebiTo",TO,Types.DATE);
208
+
209
+ return getNamedParameterJdbcTemplate().query
210
+
211
+ (sql,namedParam,rm);
212
+
213
+ }
214
+
215
+ ```
216
+
217
+ ```properties
218
+
219
+ jdbc.sql.select=select UKETSUKEBI from CUSTOMER where UKETSUKEBI BETWEEN :uketsukebiFrom AND :uketsukebiTo
220
+
221
+ ```

4

修正

2020/11/20 04:37

投稿

EDM
EDM

スコア30

test CHANGED
@@ -1 +1 @@
1
- SpringMVC サービスの処理について
1
+ 削除リクエト却下場合
test CHANGED
@@ -1,221 +1,3 @@
1
- 画面にフォームの受信日From,受信日Toというテキストボックスがあります。
1
+ 削除リクエスト却下された質問って
2
2
 
3
- 両方日付を入力してsubmitし、色々介しながら入力内容をバインドし、SQLにてbetween :uketsukebiFrom AND :uketsukebiTo をすることにより、入力した範囲のデータをデータベースから出力することができています。
4
-
5
- そこで次の工程として、Fromには入力、Toには未入力の場合、プログラムで指定した値が自動的にtoに入り、その範囲内のデータを表示させたい。それぞれが独立したテキストボックスとして利用したい。逆もしかり。
6
-
7
- 例として
8
-
9
- 受信日From ”2000-1-1” 受信日To "未入力" でsubmitすると自動的に未入力に本日の日付が入りその範囲のデータを出力。
10
-
11
- 受信日From "未入力" 受信日To "2020-12-31" でsubmitすると自動的に未入力に"2000-1-1"が入りその範囲のデータを出力。
12
-
13
- もちろん通常通り二つとも入力した場合もその範囲のデータを出力
14
-
15
-
16
-
17
- その自動的に指定した値を入れる処理についてequalsを使用した処理を書きたいのですがどのように書けばいいのかわかりません。
18
-
19
- equalsの書き方はcheckboxの時にやったことはありますがそれとは違うためよく理解できていません。
20
-
21
- Serviceのtry-catchの部分です。
22
-
23
- SQLも今のままでいいのか orで 区切っていくのか
24
-
25
- 例えば
26
-
27
- (between :uketsukebiFrom AND :uketsukebiTo)or (between :uketsukebiFrom1 AND :uketsukebiTo)みたいに自動的に入った場合はバインドの名前を変えるようにするみたいな。
28
-
29
-
30
-
31
- ちなみにデータベースにある受信日はDate型、テキストに入力する際はString型だがその変換はできている。java.sql.Dateのところ。
32
-
33
- コードは本当に必要なところだけ抜粋しています。
34
-
35
-
36
-
37
- ```search
38
-
39
- <form:form modelAttribute="SearchBean"
40
-
41
- action="Search_search.htm" method="POST">
42
-
43
- <table border="1">
44
-
45
- <tr>
46
-
47
- <th rowspan="2">受付日</th>
48
-
49
- <th>(from)</th>
50
-
51
- <td><input type="text" name="From"></td>
52
-
53
- </tr>
54
-
55
- <tr>
56
-
57
- <th>(to)</th>
58
-
59
- <td><input type="text" name="To"></td>
60
-
61
- </tr>
62
-
63
- </table>
64
-
65
- <input type="submit" name="search"value="検索">
66
-
67
- </form:form>
68
-
69
- <c:forEach var="row" items="${ResultBean.list}">
70
-
71
- <tr>
72
-
73
- <td>${row.uketsukebi}</td>
74
-
75
- </tr>
76
-
77
- </c:forEach>
78
-
79
- ```
80
-
81
-
82
-
83
- ```controller
84
-
85
- //Search.jspにてsubmit(検索)がクリックされた時
86
-
87
- @RequestMapping(value="Search_search",method=RequestMethod.POST)
88
-
89
- public ModelAndView Search_search(@ModelAttribute("searchBean") SearchBean searchBean)
90
-
91
- {
92
-
93
- ResultBean result = Service.selectService(searchBean);
94
-
95
- ModelAndView mv = new ModelAndView("search");
96
-
97
- mv.addObject("searchBean",searchBean);
98
-
99
- mv.addObject("resultBean",result);
100
-
101
- return mv;
102
-
103
- }
104
-
105
- ```
106
-
107
-
108
-
109
- ```SearchBean
110
-
111
- protected String from;
112
-
113
- protected String to;
3
+ 編集で文言変えたらいけるんちゃうのかな?
114
-
115
- ```
116
-
117
- ```ResultBean.java
118
-
119
- protected int count ;
120
-
121
- protected List<SearchDto> list;
122
-
123
- ```
124
-
125
- ```Service
126
-
127
- public ResultBean selectService(SearchBean searchBean)
128
-
129
- {
130
-
131
- try
132
-
133
- {
134
-
135
- //ここの部分です。
136
-
137
- **if(searchBean.from =.equals(searchBean.getFrom(null)))
138
-
139
- {
140
-
141
- searchBean.From() = "2000-1-1"; //入力するときはまだStringのはず
142
-
143
- }
144
-
145
- if(searchBean.to =.equals(searchBean.getTo(null)))
146
-
147
- {
148
-
149
- searchBean.From() = "2020-12-31"; 
150
-
151
- }**
152
-
153
- java.sql.Date FROM = java.sql.Date.valueOf(searchBean.getFrom());
154
-
155
- java.sql.Date TO = java.sql.Date.valueOf(searchBean.getTo());
156
-
157
-
158
-
159
- List<SearchDto> list = searchDao.select(FROM,TO);
160
-
161
- return new ResultBean(list.size(),list);
162
-
163
- }
164
-
165
- catch (Exception e)
166
-
167
- {
168
-
169
- e.printStackTrace();
170
-
171
- return new ResultBean
172
-
173
- (-1,null);
174
-
175
- }
176
-
177
- }
178
-
179
- ```
180
-
181
- ```SearchDto
182
-
183
- protected Date uketsukebi;
184
-
185
- ```
186
-
187
- ```SearchDao
188
-
189
- public List<SearchDto> select(java.sql.Date FROM,java.sql.Date TO)
190
-
191
- {
192
-
193
- String sql = properties.getProperty
194
-
195
- ("jdbc.sql.select");
196
-
197
- RowMapper rm = new BeanPropertyRowMapper<SearchDto>
198
-
199
- (SearchDto.class);
200
-
201
- MapSqlParameterSource namedParam =
202
-
203
- new MapSqlParameterSource();
204
-
205
- namedParam.addValue("uketsukebiFrom",FROM,Types.DATE);
206
-
207
- namedParam.addValue("uketsukebiTo",TO,Types.DATE);
208
-
209
- return getNamedParameterJdbcTemplate().query
210
-
211
- (sql,namedParam,rm);
212
-
213
- }
214
-
215
- ```
216
-
217
- ```properties
218
-
219
- jdbc.sql.select=select UKETSUKEBI from CUSTOMER where UKETSUKEBI BETWEEN :uketsukebiFrom AND :uketsukebiTo
220
-
221
- ```

3

誤字

2020/11/20 02:55

投稿

EDM
EDM

スコア30

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,9 @@
82
82
 
83
83
  ```controller
84
84
 
85
+ //Search.jspにてsubmit(検索)がクリックされた時
86
+
85
- //Search.jspにてsubmit(検索)がクリックされた時@RequestMapping(value="Search_search",method=RequestMethod.POST)
87
+ @RequestMapping(value="Search_search",method=RequestMethod.POST)
86
88
 
87
89
  public ModelAndView Search_search(@ModelAttribute("searchBean") SearchBean searchBean)
88
90
 

2

誤字

2020/11/19 08:37

投稿

EDM
EDM

スコア30

test CHANGED
File without changes
test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
  ```search
38
38
 
39
- <form:form modelAttribute="Bean"
39
+ <form:form modelAttribute="SearchBean"
40
40
 
41
41
  action="Search_search.htm" method="POST">
42
42
 

1

誤字

2020/11/19 08:36

投稿

EDM
EDM

スコア30

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  equalsの書き方はcheckboxの時にやったことはありますがそれとは違うためよく理解できていません。
20
20
 
21
- Service.javaのtry-catchの部分です。
21
+ Serviceのtry-catchの部分です。
22
22
 
23
23
  SQLも今のままでいいのか orで 区切っていくのか
24
24
 
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- ```search.jsp
37
+ ```search
38
38
 
39
39
  <form:form modelAttribute="Bean"
40
40
 
@@ -80,7 +80,7 @@
80
80
 
81
81
 
82
82
 
83
- ```controller.java
83
+ ```controller
84
84
 
85
85
  //Search.jspにてsubmit(検索)がクリックされた時@RequestMapping(value="Search_search",method=RequestMethod.POST)
86
86
 
@@ -104,7 +104,7 @@
104
104
 
105
105
 
106
106
 
107
- ```SearchBean.java
107
+ ```SearchBean
108
108
 
109
109
  protected String from;
110
110
 
@@ -120,7 +120,7 @@
120
120
 
121
121
  ```
122
122
 
123
- ```Service.java
123
+ ```Service
124
124
 
125
125
  public ResultBean selectService(SearchBean searchBean)
126
126
 
@@ -176,13 +176,13 @@
176
176
 
177
177
  ```
178
178
 
179
- ```SearchDto.java
179
+ ```SearchDto
180
180
 
181
181
  protected Date uketsukebi;
182
182
 
183
183
  ```
184
184
 
185
- ```SearchDao.java
185
+ ```SearchDao
186
186
 
187
187
  public List<SearchDto> select(java.sql.Date FROM,java.sql.Date TO)
188
188