質問編集履歴

2

actionの名称変更

2023/09/29 09:46

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,497 +1,249 @@
1
1
  ### 概要
2
-
3
2
  tilesのエラーメッセージで手詰まりとなっています。
4
3
 
5
-
6
-
7
4
  Struts2.3から2.5へアップデートした際、tilesについても内包されているtiles3に置き換わりました。
8
-
9
5
  tomcat起動後、ログインページのログインボタンを押下するとエラーメッセージが表示されます。
10
6
 
11
-
12
-
13
7
  ・エラーメッセージ
14
-
15
8
  2020/10/30 13:40:15:809 WARN org.apache.struts2.views.tiles.TilesResult (138) got TilesException while checking if definiton exists, ignoring it
16
-
17
9
  org.apache.tiles.definition.DefinitionsFactoryException: I/O Error reading definitions.
18
-
19
10
  at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:331) ~[tiles-core-3.0.8.jar:3.0.8]
20
-
21
11
  at org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO.loadDefinitionsFromResource(BaseLocaleUrlDefinitionDAO.java:150) ~[tiles-core-3.0.8.jar:3.0.8]
22
-
23
12
  at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadRawDefinitionsFromResources(CachingLocaleUrlDefinitionDAO.java:239) ~[tiles-core-3.0.8.jar:
24
-
25
13
  -----省略-----
26
-
27
- 2020/10/30 13:40:15:843 WARN org.apache.struts2.views.tiles.TilesResult (154) could not find @TilesDefinition for action: falgc00300
14
+ 2020/10/30 13:40:15:843 WARN org.apache.struts2.views.tiles.TilesResult (154) could not find @TilesDefinition for action: Page003
28
-
29
-
30
-
15
+
31
- エラーメッセージによるとfalgc00300が認識できていないようなのですが、実装を見直しても欠けている箇所はないように思います。
16
+ エラーメッセージによるとPage003が認識できていないようなのですが、実装を見直しても欠けている箇所はないように思います。
32
-
33
-
34
17
 
35
18
  ### ソースコード
36
-
37
19
  以下、ソースコードになります。
38
20
 
39
-
40
-
41
21
  frame.jsp(tilesを用いてページの構造を作っています)
42
-
43
22
  ```jsp
44
-
45
23
  <%@ page language="java" contentType="text/html; charset=UTF-8"
46
-
47
24
  pageEncoding="UTF-8"%>
48
-
49
25
  <%@ taglib prefix="s" uri="/struts-tags"%>
50
-
51
26
  <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
52
-
53
27
  <!DOCTYPE html>
54
-
55
28
  <html lang="ja">
56
-
57
29
  <head>
58
-
59
30
  <meta charset="utf-8">
60
-
61
31
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
62
32
 
63
-
64
-
65
33
  <title>test</title>
66
-
67
34
  </head>
68
-
69
35
  <body>
70
-
71
36
  <div id="top">
72
-
73
37
  <div id="wrapper">
74
-
75
38
  <!-- ヘッダー領域 -->
76
-
77
39
  <tiles:insertAttribute name="header" />
78
40
 
79
-
80
-
81
41
  <div id="contents">
82
-
83
42
  <!-- サイドバー領域 -->
84
-
85
43
  <tiles:insertAttribute name="subMenu" />
86
44
 
87
-
88
-
89
45
  <!-- メイン領域 -->
90
-
91
46
  <tiles:insertAttribute name="content" />
92
-
93
47
  </div>
94
-
95
48
  <!-- フッター -->
96
-
97
49
  <tiles:insertAttribute name="footer" />
98
-
99
50
  </div>
100
-
101
51
  </div>
102
-
103
52
  </body>
104
-
105
53
  </html>
106
-
107
- ```
54
+ ```
108
-
109
-
110
55
 
111
56
  Page003.jsp(ログイン後表示されるメインメニューのjsp)
112
-
113
57
  ```jsp
114
-
115
58
  <%@ page language="java" contentType="text/html; charset=UTF-8"
116
-
117
59
  pageEncoding="UTF-8"%>
118
-
119
60
  <%@ taglib prefix="s" uri="/struts-tags"%>
120
-
121
61
  <%@ taglib tagdir="/WEB-INF/tags" prefix="ctag"%>
122
-
123
62
  <script src="./script/paging.js"></script>
124
-
125
63
  <script type="text/javascript">
126
-
127
64
  </script>
128
-
129
65
  <s:form action="page003">
130
-
131
66
  <div id="main">
132
-
133
67
  -----省略-----
134
-
135
68
  </div>
136
-
137
69
  <!-- /#main -->
138
-
139
70
  </s:form>
140
-
141
- ```
71
+ ```
142
-
143
-
144
72
 
145
73
  Page003Action.java(ログイン後表示されるメインメニューのAction)
146
-
147
74
  ```java
148
-
149
75
  package jp.co.hoge.fuga.action.top;
150
76
 
151
-
152
-
153
77
  import java.io.File;
154
-
155
78
  import java.sql.SQLException;
156
-
157
79
  import java.util.Calendar;
158
-
159
80
  import java.util.Date;
160
-
161
81
  import java.util.HashMap;
162
-
163
82
  import java.util.List;
164
83
 
165
-
166
-
167
84
  import org.apache.commons.lang3.StringUtils;
168
-
169
85
  import org.apache.commons.lang3.time.DateUtils;
170
86
 
171
-
172
-
173
87
  import com.opensymphony.xwork2.ModelDriven;
174
88
 
175
-
176
-
177
89
  public class Page003Action extends BaseAction implements ModelDriven<Page003> {
178
-
179
90
  /**
180
-
181
91
  *
182
-
183
92
  */
184
-
185
93
  private static final long serialVersionUID = 1L;
186
94
 
187
-
188
-
189
95
  /**
190
-
191
96
  * モデルクラス
192
-
193
97
  */
194
-
195
98
  private Page003 model = new Page003();
196
99
 
197
-
198
-
199
100
  @Override
200
-
201
101
  public Page003 getModel() {
202
-
203
102
  return model;
204
-
205
103
  }
206
104
 
207
-
208
-
209
105
  /**
210
-
211
106
  * デフォルトメソッド
212
-
213
107
  */
214
-
215
108
  public String execute() {
216
-
217
109
  return "success";
218
-
219
110
  }
220
-
221
111
  }
222
112
 
223
-
224
-
225
- ```
113
+ ```
226
-
227
-
228
114
 
229
115
  web.xml
230
-
231
116
  ```xml
232
-
233
117
  <?xml version="1.0" encoding="UTF-8"?>
234
-
235
118
  <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
236
119
 
237
-
238
-
239
120
  <display-name>Struts Blank</display-name>
240
-
241
121
  <distributable />
242
122
 
243
-
244
-
245
123
  <filter>
246
-
247
124
  <filter-name>struts2</filter-name>
248
-
249
125
  <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
250
-
251
126
  </filter>
252
127
 
253
-
254
-
255
128
  <listener>
256
-
257
129
  <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
258
-
259
130
  </listener>
260
131
 
261
-
262
-
263
132
  <filter-mapping>
264
-
265
133
  <filter-name>struts2</filter-name>
266
-
267
134
  <url-pattern>/*</url-pattern>
268
-
269
135
  <dispatcher>REQUEST</dispatcher>
270
-
271
136
  <dispatcher>FORWARD</dispatcher>
272
-
273
137
  </filter-mapping>
274
138
 
275
-
276
-
277
139
  <welcome-file-list>
278
-
279
140
  <welcome-file>index.jsp</welcome-file>
280
-
281
141
  </welcome-file-list>
282
-
283
142
  </web-app>
284
143
 
285
-
286
-
287
- ```
144
+ ```
288
-
289
-
290
-
291
145
 
292
146
 
293
147
  struts.xml
294
-
295
148
  ```xml
296
-
297
149
  <?xml version="1.0" encoding="UTF-8" ?>
298
-
299
150
  <!DOCTYPE struts PUBLIC
300
-
301
151
  "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
302
-
303
152
  "http://struts.apache.org/dtds/struts-2.5.dtd">
304
153
 
305
-
306
-
307
154
  <struts>
308
-
309
155
  <constant name="struts.enable.DynamicMethodInvocation" value="true" />
310
-
311
156
  <constant name="struts.devMode" value="false" />
312
-
313
157
  <constant name="struts.ui.theme" value="simple" />
314
-
315
158
  <constant name="struts.action.extension" value="do,action,json" />
316
-
317
159
  <constant name="struts.multipart.maxSize" value="104857600" />
318
-
319
160
  <constant name="struts.custom.i18n.resources" value="constant,message" />
320
-
321
161
  <constant name="struts.appVersion" value="X.X.X" />
322
162
 
323
-
324
-
325
163
  <package name="default" namespace="/" extends="struts-default">
326
-
327
164
  <result-types>
328
-
329
165
  <result-type name="tiles"
330
-
331
166
  class="org.apache.struts2.views.tiles.TilesResult" />
332
-
333
167
  </result-types>
334
-
335
168
 
336
-
337
169
  -----省略-----
338
-
339
170
 
340
-
341
171
  <!-- ログイン -->
342
-
343
172
  <action name="page001" class="jp.co.hoge.fuga.action.Page001Action">
344
-
345
173
  <result name="success">/WEB-INF/jsp/Page001.jsp</result>
346
-
347
174
  <result name="input">/WEB-INF/jsp/Page001.jsp</result>
348
-
349
175
  <result name="login_success" type="chain">page003</result>
350
-
351
176
  </action>
352
-
353
177
  <!-- TOP メインメニュー -->
354
-
355
178
  <action name="page003" class="jp.co.hoge.fuga.action.top.Page003Action">
356
-
357
179
  <result name="success" type="tiles">Page003</result>
358
-
359
180
  </action>
360
-
361
181
 
362
-
363
182
  -----省略-----
364
183
 
365
-
366
-
367
184
  </package>
368
185
 
369
-
370
-
371
186
  -----省略-----
372
187
 
373
-
374
-
375
188
  <include file="webapi.xml" />
376
-
377
189
  </struts>
378
-
379
- ```
190
+ ```
380
-
381
-
382
191
 
383
192
  tiles.xml
384
-
385
193
  ```xml
386
-
387
194
  <?xml version="1.0" encoding="UTF-8" ?>
388
-
389
195
  <!DOCTYPE tiles-definitions PUBLIC
390
-
391
196
  "-//Apache Software Foundation//DTD Tiles Configuration 2.5//EN"
392
-
393
197
  "http://struts.apache.org/dtds/struts-2.5.dtd">
394
-
395
198
  <tiles-definitions>
396
-
397
199
  <definition name="admin.default" template="/WEB-INF/jsp/tiles/frame/frame.jsp">
398
-
399
200
  <put-attribute name="header"
400
-
401
201
  value="/WEB-INF/jsp/tiles/frame/header.jsp" />
402
-
403
202
  <put-attribute name="subMenu"
404
-
405
203
  value="/WEB-INF/jsp/tiles/frame/subMenu.jsp" />
406
-
407
204
  <put-attribute name="mainFooter"
408
-
409
205
  value="/WEB-INF/jsp/tiles/frame/mainFooter.jsp" />
410
-
411
206
  <put-attribute name="footer"
412
-
413
207
  value="/WEB-INF/jsp/tiles/frame/footer.jsp" />
414
-
415
208
  </definition>
416
209
 
417
-
418
-
419
210
  -----省略-----
420
211
 
421
-
422
-
423
212
  <definition name="Page001" extends="admin.default">
424
-
425
213
  <put-attribute name="content" value="/WEB-INF/jsp/Page001.jsp" />
426
-
427
214
  <put-attribute name="script" value="page001" />
428
-
429
215
  </definition>
430
-
431
216
  <definition name="Page003" extends="admin.default">
432
-
433
217
  <put-attribute name="content" value="/WEB-INF/jsp/top/Page003.jsp" />
434
-
435
218
  <put-attribute name="script" value="page003" />
436
-
437
219
  </definition>
438
-
439
220
 
440
-
441
221
  -----省略-----
442
-
443
222
 
444
-
445
223
  </tiles-definitions>
446
-
447
- ```
224
+ ```
448
-
449
-
450
225
 
451
226
  ### 確認できていること
452
-
453
227
  ログインページでログインボタンを押下するとPage001Action.javaのログイン処理が起動し、ユーザ照合が行われたのち、login_successを返却しています。
454
-
455
228
  以降struts.xmlの
456
-
457
229
  <result name="login_success" type="chain">page003</result>
458
-
459
230
  の記述に従って、Page003Action.javaのexecute()が実行され、successを返却しているていることはデバッグで確認済みです。
460
231
 
461
-
462
-
463
232
  successが返却されるとstruts.xmlの記述に従ってPage003.jspが起動する認識でいるのですが、上述したようなエラーが表示されてしまいます。
464
233
 
465
-
466
-
467
234
  ### 主な使用ライブラリ
468
-
469
235
  struts2-config-browser-plugin-2.5.22.jar
470
-
471
236
  struts2-convention-plugin-2.5.22.jar
472
-
473
237
  struts2-core-2.5.22.jar
474
-
475
238
  struts2-tiles-plugin-2.5.22.jar
476
-
477
239
  tiles-api-3.0.8.jar
478
-
479
240
  tiles-autotag-core-runtime-1.2.jar
480
-
481
241
  tiles-core-3.0.8.jar
482
-
483
242
  tiles-jsp-3.0.8.jar
484
-
485
243
  tiles-request-api-1.0.7.jar
486
-
487
244
  tiles-request-servlet-1.0.7.jar
488
-
489
245
  tiles-servlet-3.0.8.jar
490
-
491
246
  tiles-template-3.0.8.jar
492
247
 
493
248
 
494
-
495
-
496
-
497
249
  ご教示のほどよろしくお願いいたします。

1

tiles.xmlのdefinitionタグname句をpageからPageに修正

2020/11/02 04:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -420,7 +420,7 @@
420
420
 
421
421
 
422
422
 
423
- <definition name="page001" extends="admin.default">
423
+ <definition name="Page001" extends="admin.default">
424
424
 
425
425
  <put-attribute name="content" value="/WEB-INF/jsp/Page001.jsp" />
426
426
 
@@ -428,7 +428,7 @@
428
428
 
429
429
  </definition>
430
430
 
431
- <definition name="page003" extends="admin.default">
431
+ <definition name="Page003" extends="admin.default">
432
432
 
433
433
  <put-attribute name="content" value="/WEB-INF/jsp/top/Page003.jsp" />
434
434