質問編集履歴

1

記述の修正

2019/10/19 01:25

投稿

kumakumatan
kumakumatan

スコア213

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,16 @@
14
14
 
15
15
  ```jsp
16
16
 
17
+ import="model.CommodityPrice"
18
+
19
+ import="model.test1"
20
+
21
+
22
+
23
+
24
+
25
+
26
+
17
27
  //test1クラスの実行
18
28
 
19
29
  test1 test1= new test1();
@@ -68,210 +78,230 @@
68
78
 
69
79
 
70
80
 
71
-
81
+ public class test1 {
82
+
83
+
84
+
85
+
86
+
87
+ //public static void main(String[] args) {
88
+
89
+ public void pdftest() {
90
+
91
+ System.out.println("Java実行されています");
92
+
93
+ // TODO 自動生成されたメソッド・スタブ
94
+
95
+ try {
96
+
97
+ String dir = new File(".").getAbsoluteFile().getParent();
98
+
99
+ String dir2 = dir + "\webapps\TEST\page\JasperSample2.jrxml";
100
+
101
+ System.out.println("現在のディレクトリ"+dir2);
102
+
103
+
104
+
105
+ File jrxmlFile = new File(dir2);
106
+
107
+ if(jrxmlFile.exists()){
108
+
109
+
110
+
111
+ //埋め込みデータ作成(画面から取得した体で、手動で設定する。)
112
+
113
+ CommodityPrice adapter1 = new CommodityPrice();
114
+
115
+ CommodityPrice adapter2 = new CommodityPrice();
116
+
117
+ CommodityPrice adapter3 = new CommodityPrice();
118
+
119
+ CommodityPrice adapter4 = new CommodityPrice();
120
+
121
+ CommodityPrice adapter5 = new CommodityPrice();
122
+
123
+
124
+
125
+ adapter1.setName("バナナ");
126
+
127
+ adapter2.setName("メロン");
128
+
129
+ adapter3.setName("みかん");
130
+
131
+ adapter4.setName("いちご");
132
+
133
+ adapter5.setName("ケーキ");
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+ adapter1.setPrice("100円");
142
+
143
+ adapter2.setPrice("100円");
144
+
145
+ adapter3.setPrice("100円");
146
+
147
+ adapter4.setPrice("330円");
148
+
149
+ adapter5.setPrice("530円");
150
+
151
+
152
+
153
+ List<CommodityPrice> adapterList = new ArrayList<CommodityPrice>();
154
+
155
+
156
+
157
+ adapterList.add(adapter1);
158
+
159
+ adapterList.add(adapter2);
160
+
161
+ adapterList.add(adapter3);
162
+
163
+ adapterList.add(adapter4);
164
+
165
+ adapterList.add(adapter5);
166
+
167
+
168
+
169
+
170
+
171
+ JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(adapterList);
172
+
173
+
174
+
175
+ //パラメータ設定用
176
+
177
+ Map<String,Object> params = new HashMap<String,Object>();
178
+
179
+
180
+
181
+
182
+
183
+ // 日付形式のフォーマット
184
+
185
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
186
+
187
+ // フォーマットに合わせた文字列を出力
188
+
189
+ String yyyymmdd = sdf.format(new Date()); // 2016年12月05日
190
+
191
+ params.put("datetime", yyyymmdd);
192
+
193
+
194
+
195
+
196
+
197
+ // (1)テンプレートXMLのコンパイル
198
+
199
+ JasperReport jasperReport = JasperCompileManager
200
+
201
+ .compileReport(dir2);
202
+
203
+
204
+
205
+ // データソースとパラメータをコンパイルされた帳票に設定
206
+
207
+ JasperPrint pdf = JasperFillManager.fillReport(jasperReport, params,ds);
208
+
209
+
210
+
211
+ // 出力用のパス・ファイル名を指定する
212
+
213
+ File path = new File("C:\テスト1.pdf");
214
+
215
+
216
+
217
+ // 帳票の出力
218
+
219
+ JasperExportManager.exportReportToPdfFile(pdf, path.getAbsolutePath());
220
+
221
+
222
+
223
+ }else{
224
+
225
+ System.out.println("jrxmlファイルが見つかりませんでした。");
226
+
227
+ }
228
+
229
+
230
+
231
+ } catch (Exception e) {
232
+
233
+ e.printStackTrace();
234
+
235
+ }
236
+
237
+ }
238
+
239
+ }
240
+
241
+ ```
242
+
243
+
244
+
245
+ ```java
72
246
 
73
247
  package model;
74
248
 
75
249
 
76
250
 
77
- import model.CommodityPrice;
251
+ public class CommodityPrice {
78
-
79
-
80
-
81
- import java.io.File;
82
-
83
-
84
-
85
- import java.text.SimpleDateFormat;
86
-
87
- import java.util.ArrayList;
88
-
89
- import java.util.Date;
90
-
91
- import java.util.HashMap;
92
-
93
- import java.util.List;
94
-
95
- import java.util.Map;
96
-
97
-
98
-
99
- import net.sf.jasperreports.engine.JasperCompileManager;
100
-
101
- import net.sf.jasperreports.engine.JasperExportManager;
102
-
103
- import net.sf.jasperreports.engine.JasperFillManager;
104
-
105
- import net.sf.jasperreports.engine.JasperPrint;
106
-
107
- import net.sf.jasperreports.engine.JasperReport;
108
-
109
- import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
110
-
111
-
112
-
113
-
114
-
115
- public class test1 {
116
-
117
-
118
252
 
119
253
 
120
254
 
121
- //public static void main(String[] args) {
122
-
123
- public void pdftest() {
124
-
125
- System.out.println("Java実行されています");
126
-
127
- // TODO 自動生成されたメソッ・スタブ
128
-
129
- try {
130
-
131
- String dir = new File(".").getAbsoluteFile().getParent();
132
-
133
- String dir2 = dir + "\webapps\TEST\page\JasperSample2.jrxml";
134
-
135
- System.out.println("現在のディレクトリ"+dir2);
136
-
137
-
138
-
139
- File jrxmlFile = new File(dir2);
140
-
141
- if(jrxmlFile.exists()){
142
-
143
-
144
-
145
- //埋め込みデータ作成(画面から取得した体で、手動で設定する。)
146
-
147
- CommodityPrice adapter1 = new CommodityPrice();
148
-
149
- CommodityPrice adapter2 = new CommodityPrice();
150
-
151
- CommodityPrice adapter3 = new CommodityPrice();
152
-
153
- CommodityPrice adapter4 = new CommodityPrice();
154
-
155
- CommodityPrice adapter5 = new CommodityPrice();
156
-
157
-
158
-
159
- adapter1.setName("バナナ");
160
-
161
- adapter2.setName("メロン");
162
-
163
- adapter3.setName("みかん");
164
-
165
- adapter4.setName("いちご");
166
-
167
- adapter5.setName("ケーキ");
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
- adapter1.setPrice("100円");
176
-
177
- adapter2.setPrice("100円");
178
-
179
- adapter3.setPrice("100円");
180
-
181
- adapter4.setPrice("330円");
182
-
183
- adapter5.setPrice("530円");
184
-
185
-
186
-
187
- List<CommodityPrice> adapterList = new ArrayList<CommodityPrice>();
188
-
189
-
190
-
191
- adapterList.add(adapter1);
192
-
193
- adapterList.add(adapter2);
194
-
195
- adapterList.add(adapter3);
196
-
197
- adapterList.add(adapter4);
198
-
199
- adapterList.add(adapter5);
200
-
201
-
202
-
203
-
204
-
205
- JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(adapterList);
206
-
207
-
208
-
209
- //パラメータ設定用
210
-
211
- Map<String,Object> params = new HashMap<String,Object>();
212
-
213
-
214
-
215
-
216
-
217
- // 日付形式のフォーマット
218
-
219
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
220
-
221
- // フォーマットに合わせた文字列を出力
222
-
223
- String yyyymmdd = sdf.format(new Date()); // 2016年12月05日
224
-
225
- params.put("datetime", yyyymmdd);
226
-
227
-
228
-
229
-
230
-
231
- // (1)テンプレートXMLのコンパイル
232
-
233
- JasperReport jasperReport = JasperCompileManager
234
-
235
- .compileReport(dir2);
236
-
237
-
238
-
239
- // データソースとパラメータをコンパイルされた帳票に設定
240
-
241
- JasperPrint pdf = JasperFillManager.fillReport(jasperReport, params,ds);
242
-
243
-
244
-
245
- // 出力用のパス・ファイル名を指定する
246
-
247
- File path = new File("C:\テスト1.pdf");
248
-
249
-
250
-
251
- // 帳票の出力
252
-
253
- JasperExportManager.exportReportToPdfFile(pdf, path.getAbsolutePath());
254
-
255
-
256
-
257
- }else{
258
-
259
- System.out.println("jrxmlファイルが見つかりませんでした。");
260
-
261
- }
262
-
263
-
264
-
265
- } catch (Exception e) {
266
-
267
- e.printStackTrace();
268
-
269
- }
270
-
271
- }
255
+ //「商品名」を保持するフィールド
256
+
257
+ private String name;
258
+
259
+
260
+
261
+ //「商品価格」を保持するフィール
262
+
263
+ private String price;
264
+
265
+
266
+
267
+ //以下各フィールドのgetter/setter
268
+
269
+ public String getName() {
270
+
271
+ return name;
272
+
273
+ }
274
+
275
+
276
+
277
+ public void setName(String name) {
278
+
279
+ this.name = name;
280
+
281
+ }
282
+
283
+
284
+
285
+ public String getPrice() {
286
+
287
+ return price;
288
+
289
+ }
290
+
291
+
292
+
293
+ public void setPrice(String price) {
294
+
295
+ this.price = price;
296
+
297
+ }
298
+
299
+
272
300
 
273
301
  }
274
302
 
303
+
304
+
275
305
  ```
276
306
 
277
307
  test1.javaを単体で動かすと、「Cドライブ」にテスト1.pdfが作成されるのですが、
@@ -286,6 +316,30 @@
286
316
 
287
317
  jspからjavaを実行した際、読み込みファイル(jrxmlファイル)は読めています。
288
318
 
319
+ tomcat8-stdout.yyyy-mm-dd.logには
320
+
321
+ ```log
322
+
323
+ Java実行されています
324
+
325
+ 現在のディレクトリC:...\page\JasperSample2.jrxml
326
+
327
+ [WARN ] - Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/components (ComponentsEnvironment.java:126)
328
+
329
+ [WARN ] - Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/parts (PartComponentsEnvironment.java:117)
330
+
331
+ [WARN ] - Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/components (ComponentsEnvironment.java:126)
332
+
333
+ [WARN ] - Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/components (ComponentsEnvironment.java:126)
334
+
335
+ [WARN ] - Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/parts (PartComponentsEnvironment.java:117)
336
+
337
+ ```
338
+
339
+ と記載され、test1.javaは読み込めています。
340
+
341
+ Jasperreportsの箇所でWARNは出ていますが、特にエラーはありません。
342
+
289
343
 
290
344
 
291
345
  ちなみに、Tomcatは「C:\web\tomcat\」にインストールしています。