View | Details | Raw Unified | Return to bug 31353
Collapse All | Expand All

(-)examples/web/example1.jsp (-370 / +740 lines)
Lines 1-370 Link Here
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2
2
3
<html>
3
4
4
5
<head>
5
<html>
6
6
7
   <title>Jakarta Data Grid Taglib Example</title>
7
8
8
9
</head>
9
<head>
10
   
10
11
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
11
12
12
13
<%@ page contentType="text/html"%>
13
   <title>Jakarta Data Grid Taglib Example</title>
14
14
15
<%@ page import="java.util.ArrayList" %>
15
16
16
17
17
</head>
18
18
19
<%! public static class Employee
19
   
20
20
21
    {
21
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
22
22
23
      protected String firstName;
23
24
24
25
      protected String lastName;
25
<%@ page contentType="text/html"%>
26
26
27
      protected double salary;
27
28
28
29
      protected double bonus;
29
<%@ page import="java.util.ArrayList" %>
30
30
31
31
32
32
33
      public String getFirstName ()
33
34
34
35
      {
35
36
36
37
        return (firstName);
37
<%! public static class Employee
38
38
39
      }
39
40
40
41
41
    {
42
42
43
      public String getLastName ()
43
44
44
45
      {
45
      protected String firstName;
46
46
47
        return (lastName);
47
48
48
49
      }      
49
      protected String lastName;
50
50
51
51
52
52
53
      public double getSalary ()
53
      protected double salary;
54
54
55
      {
55
56
56
57
        return (salary);
57
      protected double bonus;
58
58
59
      }            
59
60
60
61
61
62
62
63
      public double getBonus ()
63
64
64
65
      {
65
      public String getFirstName ()
66
66
67
        return (bonus);
67
68
68
69
      }                  
69
      {
70
70
71
71
72
72
73
      public void setFirstName (String newFirstName)
73
        return (firstName);
74
74
75
      {
75
76
76
77
        firstName = newFirstName;
77
      }
78
78
79
      }
79
80
80
81
81
82
82
83
      public void setLastName (String newLastName)
83
84
84
85
      {
85
      public String getLastName ()
86
86
87
        lastName = newLastName;
87
88
88
89
      }
89
      {
90
90
91
91
92
92
93
      public void setSalary (double newSalary)
93
        return (lastName);
94
94
95
      {
95
96
96
97
        salary = newSalary;
97
      }      
98
98
99
      }
99
100
100
101
101
102
102
103
      public void setBonus (double newBonus)
103
104
104
105
      {
105
      public double getSalary ()
106
106
107
        bonus = newBonus;
107
108
108
109
      }      
109
      {
110
110
111
    }
111
112
112
113
%>
113
        return (salary);
114
114
115
<% ArrayList employees;
115
116
116
117
   Employee  employee;
117
      }            
118
118
119
119
120
120
121
   employees = new ArrayList ();
121
122
122
123
   
123
124
124
125
   employee = new Employee ();
125
      public double getBonus ()
126
126
127
   employee.setFirstName ("Peter");
127
128
128
129
   employee.setLastName  ("Jackson");   
129
      {
130
130
131
   employee.setSalary    (120000);
131
132
132
133
   employee.setBonus     (20000);
133
        return (bonus);
134
134
135
   employees.add (employee);
135
136
136
137
137
      }                  
138
138
139
   employee = new Employee ();
139
140
140
141
   employee.setFirstName ("John");
141
142
142
143
   employee.setLastName  ("Woo");   
143
144
144
145
   employee.setSalary    (100000);
145
      public void setFirstName (String newFirstName)
146
146
147
   employee.setBonus     (17000);
147
148
148
149
   employees.add (employee);
149
      {
150
150
151
151
152
152
153
   employee = new Employee ();
153
        firstName = newFirstName;
154
154
155
   employee.setFirstName ("George");
155
156
156
157
   employee.setLastName  ("Lucas");   
157
      }
158
158
159
   employee.setSalary    (150000);
159
160
160
161
   employee.setBonus     (23000);
161
162
162
163
   employees.add (employee);
163
164
164
165
165
      public void setLastName (String newLastName)
166
166
167
   employee = new Employee ();
167
168
168
169
   employee.setFirstName ("Michael");
169
      {
170
170
171
   employee.setLastName  ("Kain");   
171
172
172
173
   employee.setSalary    (100000);
173
        lastName = newLastName;
174
174
175
   employee.setBonus     (10000);
175
176
176
177
   employees.add (employee);
177
      }
178
178
179
179
180
180
181
   employee = new Employee ();
181
182
182
183
   employee.setFirstName ("John");
183
184
184
185
   employee.setLastName  ("Doe");   
185
      public void setSalary (double newSalary)
186
186
187
   employee.setSalary    (110000);
187
188
188
189
   employee.setBonus     (11000);
189
      {
190
190
191
   employees.add (employee);
191
192
192
193
193
        salary = newSalary;
194
194
195
   employee = new Employee ();
195
196
196
197
   employee.setFirstName ("Jim");
197
      }
198
198
199
   employee.setLastName  ("Carrey");   
199
200
200
201
   employee.setSalary    (110000);
201
202
202
203
   employee.setBonus     (11000);
203
204
204
205
   employees.add (employee);
205
      public void setBonus (double newBonus)
206
206
207
207
208
208
209
   employee = new Employee ();
209
      {
210
210
211
   employee.setFirstName ("Sean");
211
212
212
213
   employee.setLastName  ("Penn");   
213
        bonus = newBonus;
214
214
215
   employee.setSalary    (150000);
215
216
216
217
   employee.setBonus     (13000);
217
      }      
218
218
219
   employees.add (employee);
219
220
220
221
221
    }
222
222
223
   employee = new Employee ();
223
224
224
225
   employee.setFirstName ("Charlize");
225
%>
226
226
227
   employee.setLastName  ("Theron");   
227
228
228
229
   employee.setSalary    (200000);
229
<% ArrayList employees;
230
230
231
   employee.setBonus     (11000);
231
232
232
233
   employees.add (employee);
233
   Employee  employee;
234
234
235
235
236
236
237
   employee = new Employee ();
237
238
238
239
   employee.setFirstName ("Tom");
239
240
240
241
   employee.setLastName  ("Hanks");   
241
   employees = new ArrayList ();
242
242
243
   employee.setSalary    (190000);
243
244
244
245
   employee.setBonus     (10000);
245
   
246
246
247
   employees.add (employee);
247
248
248
249
249
   employee = new Employee ();
250
250
251
   employee = new Employee ();
251
252
252
253
   employee.setFirstName ("Edward");
253
   employee.setFirstName ("Peter");
254
254
255
   employee.setLastName  ("Norton");   
255
256
256
257
   employee.setSalary    (180000);
257
   employee.setLastName  ("Jackson");   
258
258
259
   employee.setBonus     (13000);
259
260
260
261
   employees.add (employee);
261
   employee.setSalary    (120000);
262
262
263
263
264
264
265
   employee = new Employee ();
265
   employee.setBonus     (20000);
266
266
267
   employee.setFirstName ("Gary");
267
268
268
269
   employee.setLastName  ("Oldman");   
269
   employees.add (employee);
270
270
271
   employee.setSalary    (180000);
271
272
272
273
   employee.setBonus     (13000);
273
274
274
275
   employees.add (employee);
275
276
276
277
277
   employee = new Employee ();
278
278
279
   request.setAttribute ("employees", employees);
279
280
280
281
%>
281
   employee.setFirstName ("John");
282
282
283
<html>
283
284
284
285
<head>
285
   employee.setLastName  ("Woo");   
286
286
287
   <title>Jakarta Data Grid Taglib Example 1</title>
287
288
   
288
289
   <style>
289
   employee.setSalary    (100000);
290
290
291
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
291
292
292
293
     .hiliterows    { background-color: #CDBD4F }
293
   employee.setBonus     (17000);
294
294
295
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
295
296
296
297
     .header        { background-color: #998B3B }
297
   employees.add (employee);
298
298
299
     .footer        { background-color: #998B3B }
299
300
300
301
     .datagrid      { border: 1px solid #000000 }
301
302
302
303
   </style>
303
304
304
305
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
305
   employee = new Employee ();
306
306
307
</head>
307
308
308
309
<body>
309
   employee.setFirstName ("George");
310
310
311
<h3>Example 1</h3>
311
312
312
313
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0">
313
   employee.setLastName  ("Lucas");   
314
314
315
  <columns>
315
316
316
317
    <column width="100" order="true">
317
   employee.setSalary    (150000);
318
318
319
      <header value="Name" hAlign="center"/>
319
320
320
321
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>
321
   employee.setBonus     (23000);
322
322
323
      <aggregate function="count" var="total"/>
323
324
324
325
      <footer value="Total ${total}" hAlign="left"/>      
325
   employees.add (employee);
326
326
327
    </column>
327
328
328
329
    <column width="200" order="true">
329
330
330
331
      <header value="Salary" hAlign="center"/>
331
332
332
333
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
333
   employee = new Employee ();
334
334
335
      <aggregate function="avg" pattern="#,##0.00" var="total"/>
335
336
336
337
      <footer value="Average ${total}" hAlign="right"/>
337
   employee.setFirstName ("Michael");
338
338
339
    </column>
339
340
340
341
    <column width="200" order="true">
341
   employee.setLastName  ("Kain");   
342
342
343
      <header value="Bonus" hAlign="center"/>
343
344
344
345
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
345
   employee.setSalary    (100000);
346
346
347
      <aggregate function="avg" pattern="#,##0.00" var="total"/>
347
348
      
348
349
      <footer value="Average ${total}" hAlign="right"/>
349
   employee.setBonus     (10000);
350
350
351
    </column>
351
352
352
353
  </columns>
353
   employees.add (employee);
354
354
355
  <header        styleClass="header" show="true"/>
355
356
356
357
  <footer        styleClass="footer" show="true"/>
357
358
358
359
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
359
360
360
361
  <alternateRows styleClass="alternaterows"/>
361
   employee = new Employee ();
362
362
363
</ui:dataGrid>
363
364
364
365
<p><a href="index.jsp">Back to index</a></p>
365
   employee.setFirstName ("John");
366
366
367
</body>
367
368
368
369
</html>
369
   employee.setLastName  ("Doe");   
370
370
371
372
373
   employee.setSalary    (110000);
374
375
376
377
   employee.setBonus     (11000);
378
379
380
381
   employees.add (employee);
382
383
384
385
386
387
388
389
   employee = new Employee ();
390
391
392
393
   employee.setFirstName ("Jim");
394
395
396
397
   employee.setLastName  ("Carrey");   
398
399
400
401
   employee.setSalary    (110000);
402
403
404
405
   employee.setBonus     (11000);
406
407
408
409
   employees.add (employee);
410
411
412
413
414
415
416
417
   employee = new Employee ();
418
419
420
421
   employee.setFirstName ("Sean");
422
423
424
425
   employee.setLastName  ("Penn");   
426
427
428
429
   employee.setSalary    (150000);
430
431
432
433
   employee.setBonus     (13000);
434
435
436
437
   employees.add (employee);
438
439
440
441
442
443
444
445
   employee = new Employee ();
446
447
448
449
   employee.setFirstName ("Charlize");
450
451
452
453
   employee.setLastName  ("Theron");   
454
455
456
457
   employee.setSalary    (200000);
458
459
460
461
   employee.setBonus     (11000);
462
463
464
465
   employees.add (employee);
466
467
468
469
470
471
472
473
   employee = new Employee ();
474
475
476
477
   employee.setFirstName ("Tom");
478
479
480
481
   employee.setLastName  ("Hanks");   
482
483
484
485
   employee.setSalary    (190000);
486
487
488
489
   employee.setBonus     (10000);
490
491
492
493
   employees.add (employee);
494
495
496
497
498
499
500
501
   employee = new Employee ();
502
503
504
505
   employee.setFirstName ("Edward");
506
507
508
509
   employee.setLastName  ("Norton");   
510
511
512
513
   employee.setSalary    (180000);
514
515
516
517
   employee.setBonus     (13000);
518
519
520
521
   employees.add (employee);
522
523
524
525
526
527
528
529
   employee = new Employee ();
530
531
532
533
   employee.setFirstName ("Gary");
534
535
536
537
   employee.setLastName  ("Oldman");   
538
539
540
541
   employee.setSalary    (180000);
542
543
544
545
   employee.setBonus     (13000);
546
547
548
549
   employees.add (employee);
550
551
552
553
554
555
556
557
   request.setAttribute ("employees", employees);
558
559
560
561
%>
562
563
564
565
<html>
566
567
568
569
<head>
570
571
572
573
   <title>Jakarta Data Grid Taglib Example 1</title>
574
575
   
576
577
   <style>
578
579
580
581
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
582
583
584
585
     .hiliterows    { background-color: #CDBD4F }
586
587
588
589
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
590
591
592
593
     .header        { background-color: #998B3B }
594
595
596
597
     .footer        { background-color: #998B3B }
598
599
600
601
     .datagrid      { border: 1px solid #000000 }
602
603
604
605
   </style>
606
607
608
609
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
610
611
612
613
</head>
614
615
616
617
<body>
618
619
620
621
<h3>Example 1</h3>
622
623
624
625
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0" styleClass="datagrid">
626
627
628
629
  <columns>
630
631
632
633
    <column width="100" order="true">
634
635
636
637
      <header value="Name" hAlign="center"/>
638
639
640
641
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>
642
643
644
645
      <aggregate function="count" var="total"/>
646
647
648
649
      <footer value="Total ${total}" hAlign="left"/>      
650
651
652
653
    </column>
654
655
656
657
    <column width="200" order="true">
658
659
660
661
      <header value="Salary" hAlign="center"/>
662
663
664
665
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
666
667
668
669
      <aggregate function="avg" pattern="#,##0.00" var="total"/>
670
671
672
673
      <footer value="Average ${total}" hAlign="right"/>
674
675
676
677
    </column>
678
679
680
681
    <column width="200" order="true">
682
683
684
685
      <header value="Bonus" hAlign="center"/>
686
687
688
689
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
690
691
692
693
      <aggregate function="avg" pattern="#,##0.00" var="total"/>
694
695
      
696
697
      <footer value="Average ${total}" hAlign="right"/>
698
699
700
701
    </column>
702
703
704
705
  </columns>
706
707
708
709
  <header        styleClass="header" show="true"/>
710
711
712
713
  <footer        styleClass="footer" show="true"/>
714
715
716
717
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
718
719
720
721
  <alternateRows styleClass="alternaterows"/>
722
723
724
725
</ui:dataGrid>
726
727
728
729
<p><a href="index.jsp">Back to index</a></p>
730
731
732
733
</body>
734
735
736
737
</html>
738
739
740
(-)examples/web/example2.jsp (-368 / +736 lines)
Lines 1-368 Link Here
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2
2
3
<html>
3
4
4
5
<head>
5
<html>
6
6
7
   <title>Jakarta Data Grid Taglib Example 2</title>
7
8
8
9
</head>
9
<head>
10
10
11
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
11
12
12
13
<%@ page contentType="text/html"%>
13
   <title>Jakarta Data Grid Taglib Example 2</title>
14
14
15
<%@ page import="java.util.ArrayList" %>
15
16
16
17
<%! public static class Employee
17
</head>
18
18
19
    {
19
20
20
21
      protected String firstName;
21
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
22
22
23
      protected String lastName;
23
24
24
25
      protected double salary;
25
<%@ page contentType="text/html"%>
26
26
27
      protected double bonus;
27
28
28
29
29
<%@ page import="java.util.ArrayList" %>
30
30
31
      public String getFirstName ()
31
32
32
33
      {
33
<%! public static class Employee
34
34
35
        return (firstName);
35
36
36
37
      }
37
    {
38
38
39
39
40
40
41
      public String getLastName ()
41
      protected String firstName;
42
42
43
      {
43
44
44
45
        return (lastName);
45
      protected String lastName;
46
46
47
      }      
47
48
48
49
49
      protected double salary;
50
50
51
      public double getSalary ()
51
52
52
53
      {
53
      protected double bonus;
54
54
55
        return (salary);
55
56
56
57
      }            
57
58
58
59
59
60
60
61
      public double getBonus ()
61
      public String getFirstName ()
62
62
63
      {
63
64
64
65
        return (bonus);
65
      {
66
66
67
      }                  
67
68
68
69
69
        return (firstName);
70
70
71
      public void setFirstName (String newFirstName)
71
72
72
73
      {
73
      }
74
74
75
        firstName = newFirstName;
75
76
76
77
      }
77
78
78
79
79
80
80
81
      public void setLastName (String newLastName)
81
      public String getLastName ()
82
82
83
      {
83
84
84
85
        lastName = newLastName;
85
      {
86
86
87
      }
87
88
88
89
89
        return (lastName);
90
90
91
      public void setSalary (double newSalary)
91
92
92
93
      {
93
      }      
94
94
95
        salary = newSalary;
95
96
96
97
      }
97
98
98
99
99
100
100
101
      public void setBonus (double newBonus)
101
      public double getSalary ()
102
102
103
      {
103
104
104
105
        bonus = newBonus;
105
      {
106
106
107
      }      
107
108
108
109
    }
109
        return (salary);
110
110
111
%>
111
112
112
113
<% ArrayList employees;
113
      }            
114
114
115
   Employee  employee;
115
116
116
117
117
118
118
119
   employees = new ArrayList ();
119
120
120
121
   
121
      public double getBonus ()
122
122
123
   employee = new Employee ();
123
124
124
125
   employee.setFirstName ("Peter");
125
      {
126
126
127
   employee.setLastName  ("Jackson");   
127
128
128
129
   employee.setSalary    (120000);
129
        return (bonus);
130
130
131
   employee.setBonus     (20000);
131
132
132
133
   employees.add (employee);
133
      }                  
134
134
135
135
136
136
137
   employee = new Employee ();
137
138
138
139
   employee.setFirstName ("John");
139
140
140
141
   employee.setLastName  ("Woo");   
141
      public void setFirstName (String newFirstName)
142
142
143
   employee.setSalary    (100000);
143
144
144
145
   employee.setBonus     (17000);
145
      {
146
146
147
   employees.add (employee);
147
148
148
149
149
        firstName = newFirstName;
150
150
151
   employee = new Employee ();
151
152
152
153
   employee.setFirstName ("George");
153
      }
154
154
155
   employee.setLastName  ("Lucas");   
155
156
156
157
   employee.setSalary    (150000);
157
158
158
159
   employee.setBonus     (23000);
159
160
160
161
   employees.add (employee);
161
      public void setLastName (String newLastName)
162
162
163
163
164
164
165
   employee = new Employee ();
165
      {
166
166
167
   employee.setFirstName ("Michael");
167
168
168
169
   employee.setLastName  ("Kain");   
169
        lastName = newLastName;
170
170
171
   employee.setSalary    (100000);
171
172
172
173
   employee.setBonus     (10000);
173
      }
174
174
175
   employees.add (employee);
175
176
176
177
177
178
178
179
   employee = new Employee ();
179
180
180
181
   employee.setFirstName ("John");
181
      public void setSalary (double newSalary)
182
182
183
   employee.setLastName  ("Doe");   
183
184
184
185
   employee.setSalary    (110000);
185
      {
186
186
187
   employee.setBonus     (11000);
187
188
188
189
   employees.add (employee);
189
        salary = newSalary;
190
190
191
191
192
192
193
   employee = new Employee ();
193
      }
194
194
195
   employee.setFirstName ("Jim");
195
196
196
197
   employee.setLastName  ("Carrey");   
197
198
198
199
   employee.setSalary    (110000);
199
200
200
201
   employee.setBonus     (11000);
201
      public void setBonus (double newBonus)
202
202
203
   employees.add (employee);
203
204
204
205
205
      {
206
206
207
   employee = new Employee ();
207
208
208
209
   employee.setFirstName ("Sean");
209
        bonus = newBonus;
210
210
211
   employee.setLastName  ("Penn");   
211
212
212
213
   employee.setSalary    (150000);
213
      }      
214
214
215
   employee.setBonus     (13000);
215
216
216
217
   employees.add (employee);
217
    }
218
218
219
219
220
220
221
   employee = new Employee ();
221
%>
222
222
223
   employee.setFirstName ("Charlize");
223
224
224
225
   employee.setLastName  ("Theron");   
225
<% ArrayList employees;
226
226
227
   employee.setSalary    (200000);
227
228
228
229
   employee.setBonus     (11000);
229
   Employee  employee;
230
230
231
   employees.add (employee);
231
232
232
233
233
234
234
235
   employee = new Employee ();
235
236
236
237
   employee.setFirstName ("Tom");
237
   employees = new ArrayList ();
238
238
239
   employee.setLastName  ("Hanks");   
239
240
240
241
   employee.setSalary    (190000);
241
   
242
242
243
   employee.setBonus     (10000);
243
244
244
245
   employees.add (employee);
245
   employee = new Employee ();
246
246
247
247
248
248
249
   employee = new Employee ();
249
   employee.setFirstName ("Peter");
250
250
251
   employee.setFirstName ("Edward");
251
252
252
253
   employee.setLastName  ("Norton");   
253
   employee.setLastName  ("Jackson");   
254
254
255
   employee.setSalary    (180000);
255
256
256
257
   employee.setBonus     (13000);
257
   employee.setSalary    (120000);
258
258
259
   employees.add (employee);
259
260
260
261
261
   employee.setBonus     (20000);
262
262
263
   employee = new Employee ();
263
264
264
265
   employee.setFirstName ("Gary");
265
   employees.add (employee);
266
266
267
   employee.setLastName  ("Oldman");   
267
268
268
269
   employee.setSalary    (180000);
269
270
270
271
   employee.setBonus     (13000);
271
272
272
273
   employees.add (employee);
273
   employee = new Employee ();
274
274
275
275
276
276
277
   request.setAttribute ("employees", employees);
277
   employee.setFirstName ("John");
278
278
279
%>
279
280
280
281
<html>
281
   employee.setLastName  ("Woo");   
282
282
283
<head>
283
284
284
285
   <title>Jakarta Data Grid Taglib Example</title>
285
   employee.setSalary    (100000);
286
   
286
287
   <style>
287
288
288
289
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
289
   employee.setBonus     (17000);
290
290
291
     .hiliterows    { background-color: #CDBD4F }
291
292
292
293
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
293
   employees.add (employee);
294
294
295
     .header        { background-color: #998B3B }
295
296
296
297
     .footer        { background-color: #998B3B }
297
298
298
299
     .datagrid      { border: 1px solid #000000 }
299
300
300
301
   </style>
301
   employee = new Employee ();
302
302
303
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
303
304
304
305
</head>
305
   employee.setFirstName ("George");
306
306
307
<body>
307
308
308
309
<h3>Example 2</h3>
309
   employee.setLastName  ("Lucas");   
310
310
311
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0" scroll="true" width="500" height="100">
311
312
312
313
  <columns>
313
   employee.setSalary    (150000);
314
314
315
    <column width="100" order="true">
315
316
316
317
      <header value="Name" hAlign="center"/>
317
   employee.setBonus     (23000);
318
318
319
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>
319
320
320
321
      <aggregate function="count" var="total"/>      
321
   employees.add (employee);
322
322
323
      <footer value="Total ${total}" hAlign="left"/>      
323
324
324
325
    </column>
325
326
326
327
    <column width="200" order="true">
327
328
328
329
      <header value="Salary" hAlign="center"/>
329
   employee = new Employee ();
330
330
331
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
331
332
332
333
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
333
   employee.setFirstName ("Michael");
334
334
335
      <footer value="Average ${total}" hAlign="right"/>
335
336
336
337
    </column>
337
   employee.setLastName  ("Kain");   
338
338
339
    <column width="200" order="true">
339
340
340
341
      <header value="Bonus" hAlign="center"/>
341
   employee.setSalary    (100000);
342
342
343
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
343
344
344
345
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
345
   employee.setBonus     (10000);
346
346
347
      <footer value="Average ${total}" hAlign="right"/>
347
348
348
349
    </column>
349
   employees.add (employee);
350
350
351
  </columns>
351
352
352
353
  <header        styleClass="header" show="true"/>
353
354
354
355
  <footer        styleClass="footer" show="true"/>
355
356
356
357
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
357
   employee = new Employee ();
358
358
359
  <alternateRows styleClass="alternaterows"/>
359
360
360
361
</ui:dataGrid>
361
   employee.setFirstName ("John");
362
362
363
<p><a href="index.jsp">Back to index</a></p>
363
364
364
365
</body>
365
   employee.setLastName  ("Doe");   
366
366
367
</html>
367
368
368
369
   employee.setSalary    (110000);
370
371
372
373
   employee.setBonus     (11000);
374
375
376
377
   employees.add (employee);
378
379
380
381
382
383
384
385
   employee = new Employee ();
386
387
388
389
   employee.setFirstName ("Jim");
390
391
392
393
   employee.setLastName  ("Carrey");   
394
395
396
397
   employee.setSalary    (110000);
398
399
400
401
   employee.setBonus     (11000);
402
403
404
405
   employees.add (employee);
406
407
408
409
410
411
412
413
   employee = new Employee ();
414
415
416
417
   employee.setFirstName ("Sean");
418
419
420
421
   employee.setLastName  ("Penn");   
422
423
424
425
   employee.setSalary    (150000);
426
427
428
429
   employee.setBonus     (13000);
430
431
432
433
   employees.add (employee);
434
435
436
437
438
439
440
441
   employee = new Employee ();
442
443
444
445
   employee.setFirstName ("Charlize");
446
447
448
449
   employee.setLastName  ("Theron");   
450
451
452
453
   employee.setSalary    (200000);
454
455
456
457
   employee.setBonus     (11000);
458
459
460
461
   employees.add (employee);
462
463
464
465
466
467
468
469
   employee = new Employee ();
470
471
472
473
   employee.setFirstName ("Tom");
474
475
476
477
   employee.setLastName  ("Hanks");   
478
479
480
481
   employee.setSalary    (190000);
482
483
484
485
   employee.setBonus     (10000);
486
487
488
489
   employees.add (employee);
490
491
492
493
494
495
496
497
   employee = new Employee ();
498
499
500
501
   employee.setFirstName ("Edward");
502
503
504
505
   employee.setLastName  ("Norton");   
506
507
508
509
   employee.setSalary    (180000);
510
511
512
513
   employee.setBonus     (13000);
514
515
516
517
   employees.add (employee);
518
519
520
521
522
523
524
525
   employee = new Employee ();
526
527
528
529
   employee.setFirstName ("Gary");
530
531
532
533
   employee.setLastName  ("Oldman");   
534
535
536
537
   employee.setSalary    (180000);
538
539
540
541
   employee.setBonus     (13000);
542
543
544
545
   employees.add (employee);
546
547
548
549
550
551
552
553
   request.setAttribute ("employees", employees);
554
555
556
557
%>
558
559
560
561
<html>
562
563
564
565
<head>
566
567
568
569
   <title>Jakarta Data Grid Taglib Example</title>
570
571
   
572
573
   <style>
574
575
576
577
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
578
579
580
581
     .hiliterows    { background-color: #CDBD4F }
582
583
584
585
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
586
587
588
589
     .header        { background-color: #998B3B }
590
591
592
593
     .footer        { background-color: #998B3B }
594
595
596
597
     .datagrid      { border: 1px solid #000000 }
598
599
600
601
   </style>
602
603
604
605
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
606
607
608
609
</head>
610
611
612
613
<body>
614
615
616
617
<h3>Example 2</h3>
618
619
620
621
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0" scroll="true" width="500" height="100" style="border: 1px solid black" styleClass="datagrid">
622
623
624
625
  <columns>
626
627
628
629
    <column width="100" order="true">
630
631
632
633
      <header value="Name" hAlign="center"/>
634
635
636
637
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>
638
639
640
641
      <aggregate function="count" var="total"/>      
642
643
644
645
      <footer value="Total ${total}" hAlign="left"/>      
646
647
648
649
    </column>
650
651
652
653
    <column width="200" order="true">
654
655
656
657
      <header value="Salary" hAlign="center"/>
658
659
660
661
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
662
663
664
665
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
666
667
668
669
      <footer value="Average ${total}" hAlign="right"/>
670
671
672
673
    </column>
674
675
676
677
    <column width="200" order="true">
678
679
680
681
      <header value="Bonus" hAlign="center"/>
682
683
684
685
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
686
687
688
689
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
690
691
692
693
      <footer value="Average ${total}" hAlign="right"/>
694
695
696
697
    </column>
698
699
700
701
  </columns>
702
703
704
705
  <header        styleClass="header" show="true"/>
706
707
708
709
  <footer        styleClass="footer" show="true"/>
710
711
712
713
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
714
715
716
717
  <alternateRows styleClass="alternaterows"/>
718
719
720
721
</ui:dataGrid>
722
723
724
725
<p><a href="index.jsp">Back to index</a></p>
726
727
728
729
</body>
730
731
732
733
</html>
734
735
736
(-)examples/web/example3.jsp (-384 / +768 lines)
Lines 1-384 Link Here
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2
2
3
<html>
3
4
4
5
<head>
5
<html>
6
6
7
   <title>Jakarta Data Grid Taglib Example 3</title>
7
8
8
9
</head>
9
<head>
10
10
11
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
11
12
12
13
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
13
   <title>Jakarta Data Grid Taglib Example 3</title>
14
14
15
<%@ page contentType="text/html"%>
15
16
16
17
<%@ page import="java.util.ArrayList" %>
17
</head>
18
18
19
<%! public static class Employee
19
20
20
21
    {
21
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
22
22
23
      protected String firstName;
23
24
24
25
      protected String lastName;
25
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
26
26
27
      protected double salary;
27
28
28
29
      protected double bonus;
29
<%@ page contentType="text/html"%>
30
30
31
31
32
32
33
      public String getFirstName ()
33
<%@ page import="java.util.ArrayList" %>
34
34
35
      {
35
36
36
37
        return (firstName);
37
<%! public static class Employee
38
38
39
      }
39
40
40
41
41
    {
42
42
43
      public String getLastName ()
43
44
44
45
      {
45
      protected String firstName;
46
46
47
        return (lastName);
47
48
48
49
      }      
49
      protected String lastName;
50
50
51
51
52
52
53
      public double getSalary ()
53
      protected double salary;
54
54
55
      {
55
56
56
57
        return (salary);
57
      protected double bonus;
58
58
59
      }            
59
60
60
61
61
62
62
63
      public double getBonus ()
63
64
64
65
      {
65
      public String getFirstName ()
66
66
67
        return (bonus);
67
68
68
69
      }                  
69
      {
70
70
71
71
72
72
73
      public void setFirstName (String newFirstName)
73
        return (firstName);
74
74
75
      {
75
76
76
77
        firstName = newFirstName;
77
      }
78
78
79
      }
79
80
80
81
81
82
82
83
      public void setLastName (String newLastName)
83
84
84
85
      {
85
      public String getLastName ()
86
86
87
        lastName = newLastName;
87
88
88
89
      }
89
      {
90
90
91
91
92
92
93
      public void setSalary (double newSalary)
93
        return (lastName);
94
94
95
      {
95
96
96
97
        salary = newSalary;
97
      }      
98
98
99
      }
99
100
100
101
101
102
102
103
      public void setBonus (double newBonus)
103
104
104
105
      {
105
      public double getSalary ()
106
106
107
        bonus = newBonus;
107
108
108
109
      }      
109
      {
110
110
111
    }
111
112
112
113
%>
113
        return (salary);
114
114
115
<% ArrayList employees;
115
116
116
117
   Employee  employee;
117
      }            
118
118
119
119
120
120
121
   employees = new ArrayList ();
121
122
122
123
   
123
124
124
125
   employee = new Employee ();
125
      public double getBonus ()
126
126
127
   employee.setFirstName ("Peter");
127
128
128
129
   employee.setLastName  ("Jackson");   
129
      {
130
130
131
   employee.setSalary    (120000);
131
132
132
133
   employee.setBonus     (20000);
133
        return (bonus);
134
134
135
   employees.add (employee);
135
136
136
137
137
      }                  
138
138
139
   employee = new Employee ();
139
140
140
141
   employee.setFirstName ("John");
141
142
142
143
   employee.setLastName  ("Woo");   
143
144
144
145
   employee.setSalary    (100000);
145
      public void setFirstName (String newFirstName)
146
146
147
   employee.setBonus     (17000);
147
148
148
149
   employees.add (employee);
149
      {
150
150
151
151
152
152
153
   employee = new Employee ();
153
        firstName = newFirstName;
154
154
155
   employee.setFirstName ("George");
155
156
156
157
   employee.setLastName  ("Lucas");   
157
      }
158
158
159
   employee.setSalary    (150000);
159
160
160
161
   employee.setBonus     (23000);
161
162
162
163
   employees.add (employee);
163
164
164
165
165
      public void setLastName (String newLastName)
166
166
167
   employee = new Employee ();
167
168
168
169
   employee.setFirstName ("Michael");
169
      {
170
170
171
   employee.setLastName  ("Kain");   
171
172
172
173
   employee.setSalary    (100000);
173
        lastName = newLastName;
174
174
175
   employee.setBonus     (10000);
175
176
176
177
   employees.add (employee);
177
      }
178
178
179
179
180
180
181
   employee = new Employee ();
181
182
182
183
   employee.setFirstName ("John");
183
184
184
185
   employee.setLastName  ("Doe");   
185
      public void setSalary (double newSalary)
186
186
187
   employee.setSalary    (110000);
187
188
188
189
   employee.setBonus     (11000);
189
      {
190
190
191
   employees.add (employee);
191
192
192
193
193
        salary = newSalary;
194
194
195
   employee = new Employee ();
195
196
196
197
   employee.setFirstName ("Jim");
197
      }
198
198
199
   employee.setLastName  ("Carrey");   
199
200
200
201
   employee.setSalary    (110000);
201
202
202
203
   employee.setBonus     (11000);
203
204
204
205
   employees.add (employee);
205
      public void setBonus (double newBonus)
206
206
207
207
208
208
209
   employee = new Employee ();
209
      {
210
210
211
   employee.setFirstName ("Sean");
211
212
212
213
   employee.setLastName  ("Penn");   
213
        bonus = newBonus;
214
214
215
   employee.setSalary    (150000);
215
216
216
217
   employee.setBonus     (13000);
217
      }      
218
218
219
   employees.add (employee);
219
220
220
221
221
    }
222
222
223
   employee = new Employee ();
223
224
224
225
   employee.setFirstName ("Charlize");
225
%>
226
226
227
   employee.setLastName  ("Theron");   
227
228
228
229
   employee.setSalary    (200000);
229
<% ArrayList employees;
230
230
231
   employee.setBonus     (11000);
231
232
232
233
   employees.add (employee);
233
   Employee  employee;
234
234
235
235
236
236
237
   employee = new Employee ();
237
238
238
239
   employee.setFirstName ("Tom");
239
240
240
241
   employee.setLastName  ("Hanks");   
241
   employees = new ArrayList ();
242
242
243
   employee.setSalary    (190000);
243
244
244
245
   employee.setBonus     (10000);
245
   
246
246
247
   employees.add (employee);
247
248
248
249
249
   employee = new Employee ();
250
250
251
   employee = new Employee ();
251
252
252
253
   employee.setFirstName ("Edward");
253
   employee.setFirstName ("Peter");
254
254
255
   employee.setLastName  ("Norton");   
255
256
256
257
   employee.setSalary    (180000);
257
   employee.setLastName  ("Jackson");   
258
258
259
   employee.setBonus     (13000);
259
260
260
261
   employees.add (employee);
261
   employee.setSalary    (120000);
262
262
263
263
264
264
265
   employee = new Employee ();
265
   employee.setBonus     (20000);
266
266
267
   employee.setFirstName ("Gary");
267
268
268
269
   employee.setLastName  ("Oldman");   
269
   employees.add (employee);
270
270
271
   employee.setSalary    (180000);
271
272
272
273
   employee.setBonus     (13000);
273
274
274
275
   employees.add (employee);
275
276
276
277
277
   employee = new Employee ();
278
278
279
   request.setAttribute ("employees", employees);
279
280
280
281
%>
281
   employee.setFirstName ("John");
282
282
283
<html>
283
284
284
285
<head>
285
   employee.setLastName  ("Woo");   
286
286
287
   <title>Jakarta Data Grid Taglib Example</title>
287
288
   
288
289
   <style>
289
   employee.setSalary    (100000);
290
290
291
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
291
292
292
293
     .hiliterows    { background-color: #CDBD4F }
293
   employee.setBonus     (17000);
294
294
295
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
295
296
296
297
     .header        { background-color: #998B3B }
297
   employees.add (employee);
298
298
299
     .footer        { background-color: #998B3B }
299
300
300
301
     .datagrid      { border: 1px solid #000000 }
301
302
302
303
   </style>
303
304
304
305
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
305
   employee = new Employee ();
306
306
307
</head>
307
308
308
309
<body>
309
   employee.setFirstName ("George");
310
310
311
<h3>Example 3</h3>
311
312
312
313
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0">
313
   employee.setLastName  ("Lucas");   
314
314
315
  <columns>
315
316
316
317
    <column width="100" order="true">
317
   employee.setSalary    (150000);
318
318
319
      <header value="Name" hAlign="center"/>
319
320
320
321
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>      
321
   employee.setBonus     (23000);
322
322
323
      <aggregate function="count" var="total"/>      
323
324
324
325
      <footer value="Total ${total}" hAlign="left"/>      
325
   employees.add (employee);
326
326
327
    </column>
327
328
328
329
    <column width="200" order="true">
329
330
330
331
      <header value="Salary" hAlign="center"/>
331
332
332
333
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
333
   employee = new Employee ();
334
334
335
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
335
336
336
337
      <footer value="Average ${total}" hAlign="right"/>
337
   employee.setFirstName ("Michael");
338
338
339
    </column>
339
340
340
341
    <column width="200" order="true">
341
   employee.setLastName  ("Kain");   
342
342
343
      <header value="Bonus" hAlign="center"/>
343
344
344
345
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
345
   employee.setSalary    (100000);
346
346
347
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
347
348
348
349
      <footer value="Average ${total}" hAlign="right"/>
349
   employee.setBonus     (10000);
350
350
351
    </column>
351
352
352
353
  </columns>
353
   employees.add (employee);
354
354
355
  <header        styleClass="header" show="true"/>
355
356
356
357
  <footer        styleClass="footer" show="true"/>
357
358
358
359
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
359
360
360
361
  <alternateRows styleClass="alternaterows"/>
361
   employee = new Employee ();
362
362
363
  <paging        size="4" nextUrlVar="next" previousUrlVar="previous"/>
363
364
364
365
</ui:dataGrid>
365
   employee.setFirstName ("John");
366
366
367
<c:if test="${previous != null}">
367
368
368
369
<a href="<c:out value="${previous}"/>">Previous</a>
369
   employee.setLastName  ("Doe");   
370
370
371
</c:if>
371
372
372
373
<c:if test="${next != null}">
373
   employee.setSalary    (110000);
374
374
375
<a href="<c:out value="${next}"/>">Next</a>
375
376
376
377
</c:if>
377
   employee.setBonus     (11000);
378
378
379
<p><a href="index.jsp">Back to index</a></p>
379
380
380
381
</body>
381
   employees.add (employee);
382
382
383
</html>
383
384
384
385
386
387
388
389
   employee = new Employee ();
390
391
392
393
   employee.setFirstName ("Jim");
394
395
396
397
   employee.setLastName  ("Carrey");   
398
399
400
401
   employee.setSalary    (110000);
402
403
404
405
   employee.setBonus     (11000);
406
407
408
409
   employees.add (employee);
410
411
412
413
414
415
416
417
   employee = new Employee ();
418
419
420
421
   employee.setFirstName ("Sean");
422
423
424
425
   employee.setLastName  ("Penn");   
426
427
428
429
   employee.setSalary    (150000);
430
431
432
433
   employee.setBonus     (13000);
434
435
436
437
   employees.add (employee);
438
439
440
441
442
443
444
445
   employee = new Employee ();
446
447
448
449
   employee.setFirstName ("Charlize");
450
451
452
453
   employee.setLastName  ("Theron");   
454
455
456
457
   employee.setSalary    (200000);
458
459
460
461
   employee.setBonus     (11000);
462
463
464
465
   employees.add (employee);
466
467
468
469
470
471
472
473
   employee = new Employee ();
474
475
476
477
   employee.setFirstName ("Tom");
478
479
480
481
   employee.setLastName  ("Hanks");   
482
483
484
485
   employee.setSalary    (190000);
486
487
488
489
   employee.setBonus     (10000);
490
491
492
493
   employees.add (employee);
494
495
496
497
498
499
500
501
   employee = new Employee ();
502
503
504
505
   employee.setFirstName ("Edward");
506
507
508
509
   employee.setLastName  ("Norton");   
510
511
512
513
   employee.setSalary    (180000);
514
515
516
517
   employee.setBonus     (13000);
518
519
520
521
   employees.add (employee);
522
523
524
525
526
527
528
529
   employee = new Employee ();
530
531
532
533
   employee.setFirstName ("Gary");
534
535
536
537
   employee.setLastName  ("Oldman");   
538
539
540
541
   employee.setSalary    (180000);
542
543
544
545
   employee.setBonus     (13000);
546
547
548
549
   employees.add (employee);
550
551
552
553
554
555
556
557
   request.setAttribute ("employees", employees);
558
559
560
561
%>
562
563
564
565
<html>
566
567
568
569
<head>
570
571
572
573
   <title>Jakarta Data Grid Taglib Example</title>
574
575
   
576
577
   <style>
578
579
580
581
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
582
583
584
585
     .hiliterows    { background-color: #CDBD4F }
586
587
588
589
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
590
591
592
593
     .header        { background-color: #998B3B }
594
595
596
597
     .footer        { background-color: #998B3B }
598
599
600
601
     .datagrid      { border: 1px solid #000000 }
602
603
604
605
   </style>
606
607
608
609
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
610
611
612
613
</head>
614
615
616
617
<body>
618
619
620
621
<h3>Example 3</h3>
622
623
624
625
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0" styleClass="datagrid">
626
627
628
629
  <columns>
630
631
632
633
    <column width="100" order="true">
634
635
636
637
      <header value="Name" hAlign="center"/>
638
639
640
641
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>      
642
643
644
645
      <aggregate function="count" var="total"/>      
646
647
648
649
      <footer value="Total ${total}" hAlign="left"/>      
650
651
652
653
    </column>
654
655
656
657
    <column width="200" order="true">
658
659
660
661
      <header value="Salary" hAlign="center"/>
662
663
664
665
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
666
667
668
669
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
670
671
672
673
      <footer value="Average ${total}" hAlign="right"/>
674
675
676
677
    </column>
678
679
680
681
    <column width="200" order="true">
682
683
684
685
      <header value="Bonus" hAlign="center"/>
686
687
688
689
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
690
691
692
693
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
694
695
696
697
      <footer value="Average ${total}" hAlign="right"/>
698
699
700
701
    </column>
702
703
704
705
  </columns>
706
707
708
709
  <header        styleClass="header" show="true"/>
710
711
712
713
  <footer        styleClass="footer" show="true"/>
714
715
716
717
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
718
719
720
721
  <alternateRows styleClass="alternaterows"/>
722
723
724
725
  <paging        size="4" nextUrlVar="next" previousUrlVar="previous"/>
726
727
728
729
</ui:dataGrid>
730
731
732
733
<c:if test="${previous != null}">
734
735
736
737
<a href="<c:out value="${previous}"/>">Previous</a>
738
739
740
741
</c:if>
742
743
744
745
<c:if test="${next != null}">
746
747
748
749
<a href="<c:out value="${next}"/>">Next</a>
750
751
752
753
</c:if>
754
755
756
757
<p><a href="index.jsp">Back to index</a></p>
758
759
760
761
</body>
762
763
764
765
</html>
766
767
768
(-)examples/web/example4.jsp (-378 / +756 lines)
Lines 1-378 Link Here
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2
2
3
<html>
3
4
4
5
<head>
5
<html>
6
6
7
   <title>Jakarta Data Grid Taglib Example</title>
7
8
8
9
</head>
9
<head>
10
10
11
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
11
12
12
13
<%@ page contentType="text/html"%>
13
   <title>Jakarta Data Grid Taglib Example</title>
14
14
15
<%@ page import="java.util.ArrayList" %>
15
16
16
17
17
</head>
18
18
19
<%! public static class Employee
19
20
20
21
    {
21
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
22
22
23
      protected String firstName;
23
24
24
25
      protected String lastName;
25
<%@ page contentType="text/html"%>
26
26
27
      protected double salary;
27
28
28
29
      protected double bonus;
29
<%@ page import="java.util.ArrayList" %>
30
30
31
31
32
32
33
      public String getFirstName ()
33
34
34
35
      {
35
36
36
37
        return (firstName);
37
<%! public static class Employee
38
38
39
      }
39
40
40
41
41
    {
42
42
43
      public String getLastName ()
43
44
44
45
      {
45
      protected String firstName;
46
46
47
        return (lastName);
47
48
48
49
      }      
49
      protected String lastName;
50
50
51
51
52
52
53
      public double getSalary ()
53
      protected double salary;
54
54
55
      {
55
56
56
57
        return (salary);
57
      protected double bonus;
58
58
59
      }            
59
60
60
61
61
62
62
63
      public double getBonus ()
63
64
64
65
      {
65
      public String getFirstName ()
66
66
67
        return (bonus);
67
68
68
69
      }                  
69
      {
70
70
71
71
72
72
73
      public void setFirstName (String newFirstName)
73
        return (firstName);
74
74
75
      {
75
76
76
77
        firstName = newFirstName;
77
      }
78
78
79
      }
79
80
80
81
81
82
82
83
      public void setLastName (String newLastName)
83
84
84
85
      {
85
      public String getLastName ()
86
86
87
        lastName = newLastName;
87
88
88
89
      }
89
      {
90
90
91
91
92
92
93
      public void setSalary (double newSalary)
93
        return (lastName);
94
94
95
      {
95
96
96
97
        salary = newSalary;
97
      }      
98
98
99
      }
99
100
100
101
101
102
102
103
      public void setBonus (double newBonus)
103
104
104
105
      {
105
      public double getSalary ()
106
106
107
        bonus = newBonus;
107
108
108
109
      }      
109
      {
110
110
111
    }
111
112
112
113
%>
113
        return (salary);
114
114
115
<% ArrayList employees;
115
116
116
117
   Employee  employee;
117
      }            
118
118
119
119
120
120
121
   employees = new ArrayList ();
121
122
122
123
   
123
124
124
125
   employee = new Employee ();
125
      public double getBonus ()
126
126
127
   employee.setFirstName ("Peter");
127
128
128
129
   employee.setLastName  ("Jackson");   
129
      {
130
130
131
   employee.setSalary    (120000);
131
132
132
133
   employee.setBonus     (20000);
133
        return (bonus);
134
134
135
   employees.add (employee);
135
136
136
137
137
      }                  
138
138
139
   employee = new Employee ();
139
140
140
141
   employee.setFirstName ("John");
141
142
142
143
   employee.setLastName  ("Woo");   
143
144
144
145
   employee.setSalary    (100000);
145
      public void setFirstName (String newFirstName)
146
146
147
   employee.setBonus     (17000);
147
148
148
149
   employees.add (employee);
149
      {
150
150
151
151
152
152
153
   employee = new Employee ();
153
        firstName = newFirstName;
154
154
155
   employee.setFirstName ("George");
155
156
156
157
   employee.setLastName  ("Lucas");   
157
      }
158
158
159
   employee.setSalary    (150000);
159
160
160
161
   employee.setBonus     (23000);
161
162
162
163
   employees.add (employee);
163
164
164
165
165
      public void setLastName (String newLastName)
166
166
167
   employee = new Employee ();
167
168
168
169
   employee.setFirstName ("Michael");
169
      {
170
170
171
   employee.setLastName  ("Kain");   
171
172
172
173
   employee.setSalary    (100000);
173
        lastName = newLastName;
174
174
175
   employee.setBonus     (10000);
175
176
176
177
   employees.add (employee);
177
      }
178
178
179
179
180
180
181
   employee = new Employee ();
181
182
182
183
   employee.setFirstName ("John");
183
184
184
185
   employee.setLastName  ("Doe");   
185
      public void setSalary (double newSalary)
186
186
187
   employee.setSalary    (110000);
187
188
188
189
   employee.setBonus     (11000);
189
      {
190
190
191
   employees.add (employee);
191
192
192
193
193
        salary = newSalary;
194
194
195
   employee = new Employee ();
195
196
196
197
   employee.setFirstName ("Jim");
197
      }
198
198
199
   employee.setLastName  ("Carrey");   
199
200
200
201
   employee.setSalary    (110000);
201
202
202
203
   employee.setBonus     (11000);
203
204
204
205
   employees.add (employee);
205
      public void setBonus (double newBonus)
206
206
207
207
208
208
209
   employee = new Employee ();
209
      {
210
210
211
   employee.setFirstName ("Sean");
211
212
212
213
   employee.setLastName  ("Penn");   
213
        bonus = newBonus;
214
214
215
   employee.setSalary    (150000);
215
216
216
217
   employee.setBonus     (13000);
217
      }      
218
218
219
   employees.add (employee);
219
220
220
221
221
    }
222
222
223
   employee = new Employee ();
223
224
224
225
   employee.setFirstName ("Charlize");
225
%>
226
226
227
   employee.setLastName  ("Theron");   
227
228
228
229
   employee.setSalary    (200000);
229
<% ArrayList employees;
230
230
231
   employee.setBonus     (11000);
231
232
232
233
   employees.add (employee);
233
   Employee  employee;
234
234
235
235
236
236
237
   employee = new Employee ();
237
238
238
239
   employee.setFirstName ("Tom");
239
240
240
241
   employee.setLastName  ("Hanks");   
241
   employees = new ArrayList ();
242
242
243
   employee.setSalary    (190000);
243
244
244
245
   employee.setBonus     (10000);
245
   
246
246
247
   employees.add (employee);
247
248
248
249
249
   employee = new Employee ();
250
250
251
   employee = new Employee ();
251
252
252
253
   employee.setFirstName ("Edward");
253
   employee.setFirstName ("Peter");
254
254
255
   employee.setLastName  ("Norton");   
255
256
256
257
   employee.setSalary    (180000);
257
   employee.setLastName  ("Jackson");   
258
258
259
   employee.setBonus     (13000);
259
260
260
261
   employees.add (employee);
261
   employee.setSalary    (120000);
262
262
263
263
264
264
265
   employee = new Employee ();
265
   employee.setBonus     (20000);
266
266
267
   employee.setFirstName ("Gary");
267
268
268
269
   employee.setLastName  ("Oldman");   
269
   employees.add (employee);
270
270
271
   employee.setSalary    (180000);
271
272
272
273
   employee.setBonus     (13000);
273
274
274
275
   employees.add (employee);
275
276
276
277
277
   employee = new Employee ();
278
278
279
   request.setAttribute ("employees", employees);
279
280
280
281
%>
281
   employee.setFirstName ("John");
282
282
283
<html>
283
284
284
285
<head>
285
   employee.setLastName  ("Woo");   
286
286
287
   <title>Jakarta Data Grid Taglib Example 4</title>
287
288
   
288
289
   <style>
289
   employee.setSalary    (100000);
290
290
291
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
291
292
292
293
     .hiliterows    { background-color: #CDBD4F }
293
   employee.setBonus     (17000);
294
294
295
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
295
296
296
297
     .header        { background-color: #998B3B }
297
   employees.add (employee);
298
298
299
     .footer        { background-color: #998B3B }
299
300
300
301
     .datagrid      { border: 1px solid #000000 }
301
302
302
303
   </style>
303
304
304
305
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
305
   employee = new Employee ();
306
306
307
</head>
307
308
308
309
<body>
309
   employee.setFirstName ("George");
310
310
311
<h3>Example 4</h3>
311
312
312
313
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0" scroll="true" width="600" height="100">
313
   employee.setLastName  ("Lucas");   
314
314
315
  <columns>
315
316
316
317
    <column width="100">
317
   employee.setSalary    (150000);
318
    
318
319
      <header value="Select" hAlign="center"/>
319
320
      
320
321
      <item   value="&lt;input type=&quot;radio&quot; name=&quot;employee&quot; value=&quot;${employee.firstName} ${employee.lastName}&quot;/&gt;" hAlign="center"/>
321
   employee.setBonus     (23000);
322
      
322
323
    </column>
323
324
324
325
    <column width="100" order="true">
325
   employees.add (employee);
326
326
327
      <header value="Name" hAlign="center"/>
327
328
328
329
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>
329
330
330
331
      <aggregate function="count" var="total"/>      
331
332
332
333
      <footer value="Total ${total}" hAlign="left"/>      
333
   employee = new Employee ();
334
334
335
    </column>
335
336
336
337
    <column width="200" order="true">
337
   employee.setFirstName ("Michael");
338
338
339
      <header value="Salary" hAlign="center"/>
339
340
340
341
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
341
   employee.setLastName  ("Kain");   
342
342
343
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
343
344
344
345
      <footer value="Average ${total}" hAlign="right"/>
345
   employee.setSalary    (100000);
346
346
347
    </column>
347
348
348
349
    <column width="200" order="true">
349
   employee.setBonus     (10000);
350
350
351
      <header value="Bonus" hAlign="center"/>
351
352
352
353
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
353
   employees.add (employee);
354
354
355
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
355
356
356
357
      <footer value="Average ${total}" hAlign="right"/>
357
358
358
359
    </column>
359
360
360
361
  </columns>
361
   employee = new Employee ();
362
362
363
  <header        styleClass="header" show="true"/>
363
364
364
365
  <footer        styleClass="footer" show="true"/>
365
   employee.setFirstName ("John");
366
366
367
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
367
368
368
369
  <alternateRows styleClass="alternaterows"/>
369
   employee.setLastName  ("Doe");   
370
370
371
</ui:dataGrid>
371
372
372
373
<p><a href="index.jsp">Back to index</a></p>
373
   employee.setSalary    (110000);
374
374
375
</body>
375
376
376
377
</html>
377
   employee.setBonus     (11000);
378
378
379
380
381
   employees.add (employee);
382
383
384
385
386
387
388
389
   employee = new Employee ();
390
391
392
393
   employee.setFirstName ("Jim");
394
395
396
397
   employee.setLastName  ("Carrey");   
398
399
400
401
   employee.setSalary    (110000);
402
403
404
405
   employee.setBonus     (11000);
406
407
408
409
   employees.add (employee);
410
411
412
413
414
415
416
417
   employee = new Employee ();
418
419
420
421
   employee.setFirstName ("Sean");
422
423
424
425
   employee.setLastName  ("Penn");   
426
427
428
429
   employee.setSalary    (150000);
430
431
432
433
   employee.setBonus     (13000);
434
435
436
437
   employees.add (employee);
438
439
440
441
442
443
444
445
   employee = new Employee ();
446
447
448
449
   employee.setFirstName ("Charlize");
450
451
452
453
   employee.setLastName  ("Theron");   
454
455
456
457
   employee.setSalary    (200000);
458
459
460
461
   employee.setBonus     (11000);
462
463
464
465
   employees.add (employee);
466
467
468
469
470
471
472
473
   employee = new Employee ();
474
475
476
477
   employee.setFirstName ("Tom");
478
479
480
481
   employee.setLastName  ("Hanks");   
482
483
484
485
   employee.setSalary    (190000);
486
487
488
489
   employee.setBonus     (10000);
490
491
492
493
   employees.add (employee);
494
495
496
497
498
499
500
501
   employee = new Employee ();
502
503
504
505
   employee.setFirstName ("Edward");
506
507
508
509
   employee.setLastName  ("Norton");   
510
511
512
513
   employee.setSalary    (180000);
514
515
516
517
   employee.setBonus     (13000);
518
519
520
521
   employees.add (employee);
522
523
524
525
526
527
528
529
   employee = new Employee ();
530
531
532
533
   employee.setFirstName ("Gary");
534
535
536
537
   employee.setLastName  ("Oldman");   
538
539
540
541
   employee.setSalary    (180000);
542
543
544
545
   employee.setBonus     (13000);
546
547
548
549
   employees.add (employee);
550
551
552
553
554
555
556
557
   request.setAttribute ("employees", employees);
558
559
560
561
%>
562
563
564
565
<html>
566
567
568
569
<head>
570
571
572
573
   <title>Jakarta Data Grid Taglib Example 4</title>
574
575
   
576
577
   <style>
578
579
580
581
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
582
583
584
585
     .hiliterows    { background-color: #CDBD4F }
586
587
588
589
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
590
591
592
593
     .header        { background-color: #998B3B }
594
595
596
597
     .footer        { background-color: #998B3B }
598
599
600
601
     .datagrid      { border: 1px solid #000000 }
602
603
604
605
   </style>
606
607
608
609
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
610
611
612
613
</head>
614
615
616
617
<body>
618
619
620
621
<h3>Example 4</h3>
622
623
624
625
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0" scroll="true" width="600" height="100" styleClass="datagrid">
626
627
628
629
  <columns>
630
631
632
633
    <column width="100">
634
635
    
636
637
      <header value="Select" hAlign="center"/>
638
639
      
640
641
      <item   value="&lt;input type=&quot;radio&quot; name=&quot;employee&quot; value=&quot;${employee.firstName} ${employee.lastName}&quot;/&gt;" hAlign="center"/>
642
643
      
644
645
    </column>
646
647
648
649
    <column width="100" order="true">
650
651
652
653
      <header value="Name" hAlign="center"/>
654
655
656
657
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>
658
659
660
661
      <aggregate function="count" var="total"/>      
662
663
664
665
      <footer value="Total ${total}" hAlign="left"/>      
666
667
668
669
    </column>
670
671
672
673
    <column width="200" order="true">
674
675
676
677
      <header value="Salary" hAlign="center"/>
678
679
680
681
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
682
683
684
685
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
686
687
688
689
      <footer value="Average ${total}" hAlign="right"/>
690
691
692
693
    </column>
694
695
696
697
    <column width="200" order="true">
698
699
700
701
      <header value="Bonus" hAlign="center"/>
702
703
704
705
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
706
707
708
709
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
710
711
712
713
      <footer value="Average ${total}" hAlign="right"/>
714
715
716
717
    </column>
718
719
720
721
  </columns>
722
723
724
725
  <header        styleClass="header" show="true"/>
726
727
728
729
  <footer        styleClass="footer" show="true"/>
730
731
732
733
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
734
735
736
737
  <alternateRows styleClass="alternaterows"/>
738
739
740
741
</ui:dataGrid>
742
743
744
745
<p><a href="index.jsp">Back to index</a></p>
746
747
748
749
</body>
750
751
752
753
</html>
754
755
756
(-)examples/web/example5.jsp (-378 / +756 lines)
Lines 1-378 Link Here
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2
2
3
<html>
3
4
4
5
<head>
5
<html>
6
6
7
   <title>Jakarta Data Grid Taglib Example</title>
7
8
8
9
</head>
9
<head>
10
10
11
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
11
12
12
13
<%@ page contentType="text/html"%>
13
   <title>Jakarta Data Grid Taglib Example</title>
14
14
15
<%@ page import="java.util.ArrayList" %>
15
16
16
17
17
</head>
18
18
19
<%! public static class Employee
19
20
20
21
    {
21
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
22
22
23
      protected String firstName;
23
24
24
25
      protected String lastName;
25
<%@ page contentType="text/html"%>
26
26
27
      protected double salary;
27
28
28
29
      protected double bonus;
29
<%@ page import="java.util.ArrayList" %>
30
30
31
31
32
32
33
      public String getFirstName ()
33
34
34
35
      {
35
36
36
37
        return (firstName);
37
<%! public static class Employee
38
38
39
      }
39
40
40
41
41
    {
42
42
43
      public String getLastName ()
43
44
44
45
      {
45
      protected String firstName;
46
46
47
        return (lastName);
47
48
48
49
      }      
49
      protected String lastName;
50
50
51
51
52
52
53
      public double getSalary ()
53
      protected double salary;
54
54
55
      {
55
56
56
57
        return (salary);
57
      protected double bonus;
58
58
59
      }            
59
60
60
61
61
62
62
63
      public double getBonus ()
63
64
64
65
      {
65
      public String getFirstName ()
66
66
67
        return (bonus);
67
68
68
69
      }                  
69
      {
70
70
71
71
72
72
73
      public void setFirstName (String newFirstName)
73
        return (firstName);
74
74
75
      {
75
76
76
77
        firstName = newFirstName;
77
      }
78
78
79
      }
79
80
80
81
81
82
82
83
      public void setLastName (String newLastName)
83
84
84
85
      {
85
      public String getLastName ()
86
86
87
        lastName = newLastName;
87
88
88
89
      }
89
      {
90
90
91
91
92
92
93
      public void setSalary (double newSalary)
93
        return (lastName);
94
94
95
      {
95
96
96
97
        salary = newSalary;
97
      }      
98
98
99
      }
99
100
100
101
101
102
102
103
      public void setBonus (double newBonus)
103
104
104
105
      {
105
      public double getSalary ()
106
106
107
        bonus = newBonus;
107
108
108
109
      }      
109
      {
110
110
111
    }
111
112
112
113
%>
113
        return (salary);
114
114
115
<% ArrayList employees;
115
116
116
117
   Employee  employee;
117
      }            
118
118
119
119
120
120
121
   employees = new ArrayList ();
121
122
122
123
   
123
124
124
125
   employee = new Employee ();
125
      public double getBonus ()
126
126
127
   employee.setFirstName ("Peter");
127
128
128
129
   employee.setLastName  ("Jackson");   
129
      {
130
130
131
   employee.setSalary    (120000);
131
132
132
133
   employee.setBonus     (20000);
133
        return (bonus);
134
134
135
   employees.add (employee);
135
136
136
137
137
      }                  
138
138
139
   employee = new Employee ();
139
140
140
141
   employee.setFirstName ("John");
141
142
142
143
   employee.setLastName  ("Woo");   
143
144
144
145
   employee.setSalary    (100000);
145
      public void setFirstName (String newFirstName)
146
146
147
   employee.setBonus     (17000);
147
148
148
149
   employees.add (employee);
149
      {
150
150
151
151
152
152
153
   employee = new Employee ();
153
        firstName = newFirstName;
154
154
155
   employee.setFirstName ("George");
155
156
156
157
   employee.setLastName  ("Lucas");   
157
      }
158
158
159
   employee.setSalary    (150000);
159
160
160
161
   employee.setBonus     (23000);
161
162
162
163
   employees.add (employee);
163
164
164
165
165
      public void setLastName (String newLastName)
166
166
167
   employee = new Employee ();
167
168
168
169
   employee.setFirstName ("Michael");
169
      {
170
170
171
   employee.setLastName  ("Kain");   
171
172
172
173
   employee.setSalary    (100000);
173
        lastName = newLastName;
174
174
175
   employee.setBonus     (10000);
175
176
176
177
   employees.add (employee);
177
      }
178
178
179
179
180
180
181
   employee = new Employee ();
181
182
182
183
   employee.setFirstName ("John");
183
184
184
185
   employee.setLastName  ("Doe");   
185
      public void setSalary (double newSalary)
186
186
187
   employee.setSalary    (110000);
187
188
188
189
   employee.setBonus     (11000);
189
      {
190
190
191
   employees.add (employee);
191
192
192
193
193
        salary = newSalary;
194
194
195
   employee = new Employee ();
195
196
196
197
   employee.setFirstName ("Jim");
197
      }
198
198
199
   employee.setLastName  ("Carrey");   
199
200
200
201
   employee.setSalary    (110000);
201
202
202
203
   employee.setBonus     (11000);
203
204
204
205
   employees.add (employee);
205
      public void setBonus (double newBonus)
206
206
207
207
208
208
209
   employee = new Employee ();
209
      {
210
210
211
   employee.setFirstName ("Sean");
211
212
212
213
   employee.setLastName  ("Penn");   
213
        bonus = newBonus;
214
214
215
   employee.setSalary    (150000);
215
216
216
217
   employee.setBonus     (13000);
217
      }      
218
218
219
   employees.add (employee);
219
220
220
221
221
    }
222
222
223
   employee = new Employee ();
223
224
224
225
   employee.setFirstName ("Charlize");
225
%>
226
226
227
   employee.setLastName  ("Theron");   
227
228
228
229
   employee.setSalary    (200000);
229
<% ArrayList employees;
230
230
231
   employee.setBonus     (11000);
231
232
232
233
   employees.add (employee);
233
   Employee  employee;
234
234
235
235
236
236
237
   employee = new Employee ();
237
238
238
239
   employee.setFirstName ("Tom");
239
240
240
241
   employee.setLastName  ("Hanks");   
241
   employees = new ArrayList ();
242
242
243
   employee.setSalary    (190000);
243
244
244
245
   employee.setBonus     (10000);
245
   
246
246
247
   employees.add (employee);
247
248
248
249
249
   employee = new Employee ();
250
250
251
   employee = new Employee ();
251
252
252
253
   employee.setFirstName ("Edward");
253
   employee.setFirstName ("Peter");
254
254
255
   employee.setLastName  ("Norton");   
255
256
256
257
   employee.setSalary    (180000);
257
   employee.setLastName  ("Jackson");   
258
258
259
   employee.setBonus     (13000);
259
260
260
261
   employees.add (employee);
261
   employee.setSalary    (120000);
262
262
263
263
264
264
265
   employee = new Employee ();
265
   employee.setBonus     (20000);
266
266
267
   employee.setFirstName ("Gary");
267
268
268
269
   employee.setLastName  ("Oldman");   
269
   employees.add (employee);
270
270
271
   employee.setSalary    (180000);
271
272
272
273
   employee.setBonus     (13000);
273
274
274
275
   employees.add (employee);
275
276
276
277
277
   employee = new Employee ();
278
278
279
   request.setAttribute ("employees", employees);
279
280
280
281
%>
281
   employee.setFirstName ("John");
282
282
283
<html>
283
284
284
285
<head>
285
   employee.setLastName  ("Woo");   
286
286
287
   <title>Jakarta Data Grid Taglib Example 5</title>
287
288
   
288
289
   <style>
289
   employee.setSalary    (100000);
290
290
291
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
291
292
292
293
     .hiliterows    { background-color: #CDBD4F }
293
   employee.setBonus     (17000);
294
294
295
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
295
296
296
297
     .header        { background-color: #998B3B }
297
   employees.add (employee);
298
298
299
     .footer        { background-color: #998B3B }
299
300
300
301
     .datagrid      { border: 1px solid #000000 }
301
302
302
303
   </style>
303
304
304
305
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
305
   employee = new Employee ();
306
306
307
</head>
307
308
308
309
<body>
309
   employee.setFirstName ("George");
310
310
311
<h3>Example 5</h3>
311
312
312
313
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0" scroll="true" width="600" height="100">
313
   employee.setLastName  ("Lucas");   
314
314
315
  <columns>
315
316
316
317
    <column width="100">
317
   employee.setSalary    (150000);
318
318
319
      <header value="Select" hAlign="center"/>
319
320
320
321
      <item   value="&lt;input type=&quot;checkbox&quot; name=&quot;employee&quot; value=&quot;${employee.firstName} ${employee.lastName}&quot;/&gt;" hAlign="center"/>
321
   employee.setBonus     (23000);
322
322
323
    </column>  
323
324
324
325
    <column width="100" order="true">
325
   employees.add (employee);
326
326
327
      <header value="Name" hAlign="center"/>
327
328
328
329
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>
329
330
330
331
      <aggregate function="count" var="total"/>      
331
332
332
333
      <footer value="Total ${total}" hAlign="left"/>      
333
   employee = new Employee ();
334
334
335
    </column>
335
336
336
337
    <column width="200" order="true">
337
   employee.setFirstName ("Michael");
338
338
339
      <header value="Salary" hAlign="center"/>
339
340
340
341
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
341
   employee.setLastName  ("Kain");   
342
342
343
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
343
344
344
345
      <footer value="Average ${total}" hAlign="right"/>
345
   employee.setSalary    (100000);
346
346
347
    </column>
347
348
348
349
    <column width="200" order="true">
349
   employee.setBonus     (10000);
350
350
351
      <header value="Bonus" hAlign="center"/>
351
352
352
353
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
353
   employees.add (employee);
354
354
355
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
355
356
356
357
      <footer value="Average ${total}" hAlign="right"/>
357
358
358
359
    </column>
359
360
360
361
  </columns>
361
   employee = new Employee ();
362
362
363
  <header        styleClass="header" show="true"/>
363
364
364
365
  <footer        styleClass="footer" show="true"/>
365
   employee.setFirstName ("John");
366
366
367
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
367
368
368
369
  <alternateRows styleClass="alternaterows"/>
369
   employee.setLastName  ("Doe");   
370
370
371
</ui:dataGrid>
371
372
372
373
<p><a href="index.jsp">Back to index</a></p>
373
   employee.setSalary    (110000);
374
374
375
</body>
375
376
376
377
</html>
377
   employee.setBonus     (11000);
378
378
379
380
381
   employees.add (employee);
382
383
384
385
386
387
388
389
   employee = new Employee ();
390
391
392
393
   employee.setFirstName ("Jim");
394
395
396
397
   employee.setLastName  ("Carrey");   
398
399
400
401
   employee.setSalary    (110000);
402
403
404
405
   employee.setBonus     (11000);
406
407
408
409
   employees.add (employee);
410
411
412
413
414
415
416
417
   employee = new Employee ();
418
419
420
421
   employee.setFirstName ("Sean");
422
423
424
425
   employee.setLastName  ("Penn");   
426
427
428
429
   employee.setSalary    (150000);
430
431
432
433
   employee.setBonus     (13000);
434
435
436
437
   employees.add (employee);
438
439
440
441
442
443
444
445
   employee = new Employee ();
446
447
448
449
   employee.setFirstName ("Charlize");
450
451
452
453
   employee.setLastName  ("Theron");   
454
455
456
457
   employee.setSalary    (200000);
458
459
460
461
   employee.setBonus     (11000);
462
463
464
465
   employees.add (employee);
466
467
468
469
470
471
472
473
   employee = new Employee ();
474
475
476
477
   employee.setFirstName ("Tom");
478
479
480
481
   employee.setLastName  ("Hanks");   
482
483
484
485
   employee.setSalary    (190000);
486
487
488
489
   employee.setBonus     (10000);
490
491
492
493
   employees.add (employee);
494
495
496
497
498
499
500
501
   employee = new Employee ();
502
503
504
505
   employee.setFirstName ("Edward");
506
507
508
509
   employee.setLastName  ("Norton");   
510
511
512
513
   employee.setSalary    (180000);
514
515
516
517
   employee.setBonus     (13000);
518
519
520
521
   employees.add (employee);
522
523
524
525
526
527
528
529
   employee = new Employee ();
530
531
532
533
   employee.setFirstName ("Gary");
534
535
536
537
   employee.setLastName  ("Oldman");   
538
539
540
541
   employee.setSalary    (180000);
542
543
544
545
   employee.setBonus     (13000);
546
547
548
549
   employees.add (employee);
550
551
552
553
554
555
556
557
   request.setAttribute ("employees", employees);
558
559
560
561
%>
562
563
564
565
<html>
566
567
568
569
<head>
570
571
572
573
   <title>Jakarta Data Grid Taglib Example 5</title>
574
575
   
576
577
   <style>
578
579
580
581
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
582
583
584
585
     .hiliterows    { background-color: #CDBD4F }
586
587
588
589
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
590
591
592
593
     .header        { background-color: #998B3B }
594
595
596
597
     .footer        { background-color: #998B3B }
598
599
600
601
     .datagrid      { border: 1px solid #000000 }
602
603
604
605
   </style>
606
607
608
609
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
610
611
612
613
</head>
614
615
616
617
<body>
618
619
620
621
<h3>Example 5</h3>
622
623
624
625
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0" scroll="true" width="600" height="100" styleClass="datagrid">
626
627
628
629
  <columns>
630
631
632
633
    <column width="100">
634
635
636
637
      <header value="Select" hAlign="center"/>
638
639
640
641
      <item   value="&lt;input type=&quot;checkbox&quot; name=&quot;employee&quot; value=&quot;${employee.firstName} ${employee.lastName}&quot;/&gt;" hAlign="center"/>
642
643
644
645
    </column>  
646
647
648
649
    <column width="100" order="true">
650
651
652
653
      <header value="Name" hAlign="center"/>
654
655
656
657
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left"/>
658
659
660
661
      <aggregate function="count" var="total"/>      
662
663
664
665
      <footer value="Total ${total}" hAlign="left"/>      
666
667
668
669
    </column>
670
671
672
673
    <column width="200" order="true">
674
675
676
677
      <header value="Salary" hAlign="center"/>
678
679
680
681
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
682
683
684
685
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
686
687
688
689
      <footer value="Average ${total}" hAlign="right"/>
690
691
692
693
    </column>
694
695
696
697
    <column width="200" order="true">
698
699
700
701
      <header value="Bonus" hAlign="center"/>
702
703
704
705
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
706
707
708
709
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
710
711
712
713
      <footer value="Average ${total}" hAlign="right"/>
714
715
716
717
    </column>
718
719
720
721
  </columns>
722
723
724
725
  <header        styleClass="header" show="true"/>
726
727
728
729
  <footer        styleClass="footer" show="true"/>
730
731
732
733
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
734
735
736
737
  <alternateRows styleClass="alternaterows"/>
738
739
740
741
</ui:dataGrid>
742
743
744
745
<p><a href="index.jsp">Back to index</a></p>
746
747
748
749
</body>
750
751
752
753
</html>
754
755
756
(-)examples/web/example6.jsp (-386 / +772 lines)
Lines 1-386 Link Here
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2
2
3
<html>
3
4
4
5
<head>
5
<html>
6
6
7
   <title>Jakarta Data Grid Taglib Example</title>
7
8
8
9
</head>
9
<head>
10
10
11
<%@ page contentType="text/html"%>
11
12
12
13
<%@ page import="java.util.ArrayList" %>
13
   <title>Jakarta Data Grid Taglib Example</title>
14
14
15
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
15
16
16
17
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
17
</head>
18
18
19
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
19
20
20
21
<%! public static class Employee
21
<%@ page contentType="text/html"%>
22
22
23
    {
23
24
24
25
      protected String firstName;
25
<%@ page import="java.util.ArrayList" %>
26
26
27
      protected String lastName;
27
28
28
29
      protected double salary;
29
<%@ taglib uri="http://jakarta.apache.org/taglibs/datagrid-1.0" prefix="ui" %>
30
30
31
      protected double bonus;
31
32
32
33
33
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
34
34
35
      public String getFirstName ()
35
36
36
37
      {
37
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
38
38
39
        return (firstName);
39
40
40
41
      }
41
<%! public static class Employee
42
42
43
43
44
44
45
      public String getLastName ()
45
    {
46
46
47
      {
47
48
48
49
        return (lastName);
49
      protected String firstName;
50
50
51
      }      
51
52
52
53
53
      protected String lastName;
54
54
55
      public double getSalary ()
55
56
56
57
      {
57
      protected double salary;
58
58
59
        return (salary);
59
60
60
61
      }            
61
      protected double bonus;
62
62
63
63
64
64
65
      public double getBonus ()
65
66
66
67
      {
67
68
68
69
        return (bonus);
69
      public String getFirstName ()
70
70
71
      }                  
71
72
72
73
73
      {
74
74
75
      public void setFirstName (String newFirstName)
75
76
76
77
      {
77
        return (firstName);
78
78
79
        firstName = newFirstName;
79
80
80
81
      }
81
      }
82
82
83
83
84
84
85
      public void setLastName (String newLastName)
85
86
86
87
      {
87
88
88
89
        lastName = newLastName;
89
      public String getLastName ()
90
90
91
      }
91
92
92
93
93
      {
94
94
95
      public void setSalary (double newSalary)
95
96
96
97
      {
97
        return (lastName);
98
98
99
        salary = newSalary;
99
100
100
101
      }
101
      }      
102
102
103
103
104
104
105
      public void setBonus (double newBonus)
105
106
106
107
      {
107
108
108
109
        bonus = newBonus;
109
      public double getSalary ()
110
110
111
      }      
111
112
112
113
    }
113
      {
114
114
115
%>
115
116
116
117
<% ArrayList employees;
117
        return (salary);
118
118
119
   Employee  employee;
119
120
120
121
121
      }            
122
122
123
   employees = new ArrayList ();
123
124
124
125
   
125
126
126
127
   employee = new Employee ();
127
128
128
129
   employee.setFirstName ("Peter");
129
      public double getBonus ()
130
130
131
   employee.setLastName  ("Jackson");   
131
132
132
133
   employee.setSalary    (120000);
133
      {
134
134
135
   employee.setBonus     (20000);
135
136
136
137
   employees.add (employee);
137
        return (bonus);
138
138
139
139
140
140
141
   employee = new Employee ();
141
      }                  
142
142
143
   employee.setFirstName ("John");
143
144
144
145
   employee.setLastName  ("Woo");   
145
146
146
147
   employee.setSalary    (100000);
147
148
148
149
   employee.setBonus     (17000);
149
      public void setFirstName (String newFirstName)
150
150
151
   employees.add (employee);
151
152
152
153
153
      {
154
154
155
   employee = new Employee ();
155
156
156
157
   employee.setFirstName ("George");
157
        firstName = newFirstName;
158
158
159
   employee.setLastName  ("Lucas");   
159
160
160
161
   employee.setSalary    (150000);
161
      }
162
162
163
   employee.setBonus     (23000);
163
164
164
165
   employees.add (employee);
165
166
166
167
167
168
168
169
   employee = new Employee ();
169
      public void setLastName (String newLastName)
170
170
171
   employee.setFirstName ("Michael");
171
172
172
173
   employee.setLastName  ("Kain");   
173
      {
174
174
175
   employee.setSalary    (100000);
175
176
176
177
   employee.setBonus     (10000);
177
        lastName = newLastName;
178
178
179
   employees.add (employee);
179
180
180
181
181
      }
182
182
183
   employee = new Employee ();
183
184
184
185
   employee.setFirstName ("John");
185
186
186
187
   employee.setLastName  ("Doe");   
187
188
188
189
   employee.setSalary    (110000);
189
      public void setSalary (double newSalary)
190
190
191
   employee.setBonus     (11000);
191
192
192
193
   employees.add (employee);
193
      {
194
194
195
195
196
196
197
   employee = new Employee ();
197
        salary = newSalary;
198
198
199
   employee.setFirstName ("Jim");
199
200
200
201
   employee.setLastName  ("Carrey");   
201
      }
202
202
203
   employee.setSalary    (110000);
203
204
204
205
   employee.setBonus     (11000);
205
206
206
207
   employees.add (employee);
207
208
208
209
209
      public void setBonus (double newBonus)
210
210
211
   employee = new Employee ();
211
212
212
213
   employee.setFirstName ("Sean");
213
      {
214
214
215
   employee.setLastName  ("Penn");   
215
216
216
217
   employee.setSalary    (150000);
217
        bonus = newBonus;
218
218
219
   employee.setBonus     (13000);
219
220
220
221
   employees.add (employee);
221
      }      
222
222
223
223
224
224
225
   employee = new Employee ();
225
    }
226
226
227
   employee.setFirstName ("Charlize");
227
228
228
229
   employee.setLastName  ("Theron");   
229
%>
230
230
231
   employee.setSalary    (200000);
231
232
232
233
   employee.setBonus     (11000);
233
<% ArrayList employees;
234
234
235
   employees.add (employee);
235
236
236
237
237
   Employee  employee;
238
238
239
   employee = new Employee ();
239
240
240
241
   employee.setFirstName ("Tom");
241
242
242
243
   employee.setLastName  ("Hanks");   
243
244
244
245
   employee.setSalary    (190000);
245
   employees = new ArrayList ();
246
246
247
   employee.setBonus     (10000);
247
248
248
249
   employees.add (employee);
249
   
250
250
251
251
252
252
253
   employee = new Employee ();
253
   employee = new Employee ();
254
254
255
   employee.setFirstName ("Edward");
255
256
256
257
   employee.setLastName  ("Norton");   
257
   employee.setFirstName ("Peter");
258
258
259
   employee.setSalary    (180000);
259
260
260
261
   employee.setBonus     (13000);
261
   employee.setLastName  ("Jackson");   
262
262
263
   employees.add (employee);
263
264
264
265
265
   employee.setSalary    (120000);
266
266
267
   employee = new Employee ();
267
268
268
269
   employee.setFirstName ("Gary");
269
   employee.setBonus     (20000);
270
270
271
   employee.setLastName  ("Oldman");   
271
272
272
273
   employee.setSalary    (180000);
273
   employees.add (employee);
274
274
275
   employee.setBonus     (13000);
275
276
276
277
   employees.add (employee);
277
278
278
279
279
280
280
281
   request.setAttribute ("employees", employees);
281
   employee = new Employee ();
282
282
283
%>
283
284
284
285
<html>
285
   employee.setFirstName ("John");
286
286
287
<head>
287
288
288
289
   <title>Jakarta Data Grid Taglib Example 6</title>
289
   employee.setLastName  ("Woo");   
290
   
290
291
   <style>
291
292
292
293
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
293
   employee.setSalary    (100000);
294
294
295
     .hiliterows    { background-color: #CDBD4F }
295
296
296
297
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
297
   employee.setBonus     (17000);
298
298
299
     .header        { background-color: #998B3B }
299
300
300
301
     .footer        { background-color: #998B3B }
301
   employees.add (employee);
302
302
303
     .datagrid      { border: 1px solid #000000 }
303
304
304
305
   </style>
305
306
306
307
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
307
308
308
309
</head>
309
   employee = new Employee ();
310
310
311
<body>
311
312
312
313
<h3>Example 6</h3>
313
   employee.setFirstName ("George");
314
314
315
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0">
315
316
316
317
  <columns>
317
   employee.setLastName  ("Lucas");   
318
318
319
    <column width="100" order="true">
319
320
    
320
321
      <header value="Name" hAlign="center"/>
321
   employee.setSalary    (150000);
322
      
322
323
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left" hyperLink="http://www.imdb.com/find?tt=on;nm=on;mx=20;q=${employee.firstName}%20${employee.lastName}" hyperLinkTarget="_blank"/>
323
324
324
325
      <aggregate function="count" var="total"/>
325
   employee.setBonus     (23000);
326
      
326
327
      <footer value="Total ${total}" hAlign="left"/>      
327
328
      
328
329
    </column>
329
   employees.add (employee);
330
330
331
    <column width="200" order="true">
331
332
332
333
      <header value="Salary" hAlign="center"/>
333
334
334
335
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
335
336
336
337
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
337
   employee = new Employee ();
338
338
339
      <footer value="Average ${total}" hAlign="right"/>
339
340
340
341
    </column>
341
   employee.setFirstName ("Michael");
342
342
343
    <column width="200" order="true">
343
344
344
345
      <header value="Bonus" hAlign="center"/>
345
   employee.setLastName  ("Kain");   
346
346
347
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
347
348
348
349
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
349
   employee.setSalary    (100000);
350
350
351
      <footer value="Average ${total}" hAlign="right"/>
351
352
352
353
    </column>
353
   employee.setBonus     (10000);
354
354
355
  </columns>
355
356
356
357
  <header        styleClass="header" show="true"/>
357
   employees.add (employee);
358
358
359
  <footer        styleClass="footer" show="true"/>
359
360
360
361
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
361
362
362
363
  <alternateRows styleClass="alternaterows"/>
363
364
364
365
  <paging        size="4" nextUrlVar="next" previousUrlVar="previous"/>
365
   employee = new Employee ();
366
366
367
</ui:dataGrid>
367
368
368
369
<c:if test="${previous != null}">
369
   employee.setFirstName ("John");
370
370
371
<a href="<c:out value="${previous}"/>">Previous</a>
371
372
372
373
</c:if>
373
   employee.setLastName  ("Doe");   
374
374
375
<c:if test="${next != null}">
375
376
376
377
<a href="<c:out value="${next}"/>">Next</a>
377
   employee.setSalary    (110000);
378
378
379
</c:if>
379
380
380
381
<p><a href="index.jsp">Back to index</a></p>
381
   employee.setBonus     (11000);
382
382
383
</body>
383
384
384
385
</html>
385
   employees.add (employee);
386
386
387
388
389
390
391
392
393
   employee = new Employee ();
394
395
396
397
   employee.setFirstName ("Jim");
398
399
400
401
   employee.setLastName  ("Carrey");   
402
403
404
405
   employee.setSalary    (110000);
406
407
408
409
   employee.setBonus     (11000);
410
411
412
413
   employees.add (employee);
414
415
416
417
418
419
420
421
   employee = new Employee ();
422
423
424
425
   employee.setFirstName ("Sean");
426
427
428
429
   employee.setLastName  ("Penn");   
430
431
432
433
   employee.setSalary    (150000);
434
435
436
437
   employee.setBonus     (13000);
438
439
440
441
   employees.add (employee);
442
443
444
445
446
447
448
449
   employee = new Employee ();
450
451
452
453
   employee.setFirstName ("Charlize");
454
455
456
457
   employee.setLastName  ("Theron");   
458
459
460
461
   employee.setSalary    (200000);
462
463
464
465
   employee.setBonus     (11000);
466
467
468
469
   employees.add (employee);
470
471
472
473
474
475
476
477
   employee = new Employee ();
478
479
480
481
   employee.setFirstName ("Tom");
482
483
484
485
   employee.setLastName  ("Hanks");   
486
487
488
489
   employee.setSalary    (190000);
490
491
492
493
   employee.setBonus     (10000);
494
495
496
497
   employees.add (employee);
498
499
500
501
502
503
504
505
   employee = new Employee ();
506
507
508
509
   employee.setFirstName ("Edward");
510
511
512
513
   employee.setLastName  ("Norton");   
514
515
516
517
   employee.setSalary    (180000);
518
519
520
521
   employee.setBonus     (13000);
522
523
524
525
   employees.add (employee);
526
527
528
529
530
531
532
533
   employee = new Employee ();
534
535
536
537
   employee.setFirstName ("Gary");
538
539
540
541
   employee.setLastName  ("Oldman");   
542
543
544
545
   employee.setSalary    (180000);
546
547
548
549
   employee.setBonus     (13000);
550
551
552
553
   employees.add (employee);
554
555
556
557
558
559
560
561
   request.setAttribute ("employees", employees);
562
563
564
565
%>
566
567
568
569
<html>
570
571
572
573
<head>
574
575
576
577
   <title>Jakarta Data Grid Taglib Example 6</title>
578
579
   
580
581
   <style>
582
583
584
585
     .rows          { background-color: #EDD98A; border: 1px solid #000000 }
586
587
588
589
     .hiliterows    { background-color: #CDBD4F }
590
591
592
593
     .alternaterows { background-color: #D3C971; border: 1px solid #000000 }
594
595
596
597
     .header        { background-color: #998B3B }
598
599
600
601
     .footer        { background-color: #998B3B }
602
603
604
605
     .datagrid      { border: 1px solid #000000 }
606
607
608
609
   </style>
610
611
612
613
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
614
615
616
617
</head>
618
619
620
621
<body>
622
623
624
625
<h3>Example 6</h3>
626
627
628
629
<ui:dataGrid items="${employees}" var="employee" name="datagrid1" cellPadding="0" cellSpacing="0" styleClass="datagrid">
630
631
632
633
  <columns>
634
635
636
637
    <column width="100" order="true">
638
639
    
640
641
      <header value="Name" hAlign="center"/>
642
643
      
644
645
      <item   value="${employee.firstName} ${employee.lastName}" hAlign="left" hyperLink="http://www.imdb.com/find?tt=on;nm=on;mx=20;q=${employee.firstName}%20${employee.lastName}" hyperLinkTarget="_blank"/>
646
647
648
649
      <aggregate function="count" var="total"/>
650
651
      
652
653
      <footer value="Total ${total}" hAlign="left"/>      
654
655
      
656
657
    </column>
658
659
660
661
    <column width="200" order="true">
662
663
664
665
      <header value="Salary" hAlign="center"/>
666
667
668
669
      <item   value="${employee.salary}" hAlign="right" pattern="#,##0.00"/>
670
671
672
673
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
674
675
676
677
      <footer value="Average ${total}" hAlign="right"/>
678
679
680
681
    </column>
682
683
684
685
    <column width="200" order="true">
686
687
688
689
      <header value="Bonus" hAlign="center"/>
690
691
692
693
      <item   value="${employee.bonus}" hAlign="right" pattern="#,##0.00"/>
694
695
696
697
      <aggregate function="avg" pattern="#,##0.00" var="total"/>      
698
699
700
701
      <footer value="Average ${total}" hAlign="right"/>
702
703
704
705
    </column>
706
707
708
709
  </columns>
710
711
712
713
  <header        styleClass="header" show="true"/>
714
715
716
717
  <footer        styleClass="footer" show="true"/>
718
719
720
721
  <rows          styleClass="rows" hiliteStyleClass="hiliterows"/>
722
723
724
725
  <alternateRows styleClass="alternaterows"/>
726
727
728
729
  <paging        size="4" nextUrlVar="next" previousUrlVar="previous"/>
730
731
732
733
</ui:dataGrid>
734
735
736
737
<c:if test="${previous != null}">
738
739
740
741
<a href="<c:out value="${previous}"/>">Previous</a>
742
743
744
745
</c:if>
746
747
748
749
<c:if test="${next != null}">
750
751
752
753
<a href="<c:out value="${next}"/>">Next</a>
754
755
756
757
</c:if>
758
759
760
761
<p><a href="index.jsp">Back to index</a></p>
762
763
764
765
</body>
766
767
768
769
</html>
770
771
772
(-)src/org/apache/taglibs/datagrid/Column.java (-244 / +268 lines)
Lines 1-244 Link Here
1
/*
1
/*
2
 * Copyright 2004 The Apache Software Foundation.
2
 * Copyright 2004 The Apache Software Foundation.
3
 * 
3
 * 
4
 * Licensed under the Apache License, Version 2.0 (the "License");
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
6
 * You may obtain a copy of the License at
7
 * 
7
 * 
8
 *      http://www.apache.org/licenses/LICENSE-2.0
8
 *      http://www.apache.org/licenses/LICENSE-2.0
9
 * 
9
 * 
10
 * Unless required by applicable law or agreed to in writing, software
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
14
 * limitations under the License.
15
 */
15
 */
16
package org.apache.taglibs.datagrid;
16
package org.apache.taglibs.datagrid;
17
17
18
import java.util.ArrayList;
18
import java.util.ArrayList;
19
import java.util.List;
19
import java.util.List;
20
20
21
/**
21
/**
22
 * Class that stores a column definition of a data grid.
22
 * Class that stores a column definition of a data grid.
23
 *
23
 *
24
 * @see DataGridTag
24
 * @see DataGridTag
25
 */
25
 */
26
26
27
public class Column 
27
public class Column 
28
{
28
{
29
  protected ArrayList     aggregates = new ArrayList ();
29
  private ArrayList     aggregates = new ArrayList ();
30
  protected String        itemStyleClass;
30
  private String        itemStyleClass;
31
  protected String        headerStyleClass;
31
  private String        headerStyleClass;
32
  protected String        width;
32
  private String        width;
33
  protected String        itemValue;
33
  private String        itemValue;
34
  protected String        headerValue;
34
  private String        headerValue;
35
  protected String        footerStyleClass;
35
  private String        footerStyleClass;
36
  protected String        footerValue;
36
  private String        footerValue;
37
  protected String        itemHyperLinkValue;
37
  private String        itemHyperLinkValue;
38
  protected String        headerHorizontalAlign;
38
  private String        headerHorizontalAlign;
39
  protected String        headerVerticalAlign;
39
  private String        headerVerticalAlign;
40
  protected String        footerHorizontalAlign;
40
  private String        footerHorizontalAlign;
41
  protected String        footerVerticalAlign;
41
  private String        footerVerticalAlign;
42
  protected String        itemHorizontalAlign;
42
  private String        itemHorizontalAlign;
43
  protected String        itemVerticalAlign;
43
  private String        itemVerticalAlign;
44
  protected String []     itemHyperLinkValues;
44
  private String        itemPattern;
45
  protected String        itemPattern;
45
  private String        totalPattern;
46
  protected String        totalPattern;
46
  private String        itemHyperLinkTarget;
47
  protected String        itemHyperLinkTarget;
47
  private boolean       order;
48
  protected boolean       order;
48
  private String        footerStyle;
49
49
  private String        headerStyle;
50
  public Column()
50
  private String        itemStyle;
51
  {
51
52
  }
52
  public Column()
53
53
  {
54
  public String getItemStyleClass()
54
  }
55
  {
55
56
    return itemStyleClass;
56
  public String getItemStyleClass()
57
  }
57
  {
58
58
    return itemStyleClass;
59
  public void setItemStyleClass(String newItemStyleClass)
59
  }
60
  {
60
61
    itemStyleClass = newItemStyleClass;
61
  public void setItemStyleClass(String newItemStyleClass)
62
  }
62
  {
63
63
    itemStyleClass = newItemStyleClass;
64
  public String getHeaderStyleClass()
64
  }
65
  {
65
66
    return headerStyleClass;
66
  public String getHeaderStyleClass()
67
  }
67
  {
68
68
    return headerStyleClass;
69
  public void setHeaderStyleClass(String newHeaderStyleClass)
69
  }
70
  {
70
71
    headerStyleClass = newHeaderStyleClass;
71
  public void setHeaderStyleClass(String newHeaderStyleClass)
72
  }
72
  {
73
73
    headerStyleClass = newHeaderStyleClass;
74
  public String getWidth()
74
  }
75
  {
75
76
    return width;
76
  public String getWidth()
77
  }
77
  {
78
78
    return width;
79
  public void setWidth(String newWidth)
79
  }
80
  {
80
81
    width = newWidth;
81
  public void setWidth(String newWidth)
82
  }
82
  {
83
83
    width = newWidth;
84
  public String getItemValue()
84
  }
85
  {
85
86
    return itemValue;
86
  public String getItemValue()
87
  }
87
  {
88
88
    return itemValue;
89
  public void setItemValue(String newItemValue)
89
  }
90
  {
90
91
    itemValue = newItemValue;
91
  public void setItemValue(String newItemValue)
92
  }
92
  {
93
93
    itemValue = newItemValue;
94
94
  }
95
  public String getHeaderValue()
95
96
  {
96
97
    return headerValue;
97
  public String getHeaderValue()
98
  }
98
  {
99
99
    return headerValue;
100
  public void setHeaderValue(String newHeaderValue)
100
  }
101
  {
101
102
    headerValue = newHeaderValue;
102
  public void setHeaderValue(String newHeaderValue)
103
  }
103
  {
104
104
    headerValue = newHeaderValue;
105
  public String getFooterStyleClass()
105
  }
106
  {
106
107
    return footerStyleClass;
107
  public String getFooterStyleClass()
108
  }
108
  {
109
109
    return footerStyleClass;
110
  public void setFooterStyleClass(String newFooterStyleClass)
110
  }
111
  {
111
112
    footerStyleClass = newFooterStyleClass;
112
  public void setFooterStyleClass(String newFooterStyleClass)
113
  }
113
  {
114
114
    footerStyleClass = newFooterStyleClass;
115
  public String getFooterValue()
115
  }
116
  {
116
117
    return footerValue;
117
  public String getFooterValue()
118
  }
118
  {
119
119
    return footerValue;
120
  public void setFooterValue(String newFooterValue)
120
  }
121
  {
121
122
    footerValue = newFooterValue;
122
  public void setFooterValue(String newFooterValue)
123
  }
123
  {
124
124
    footerValue = newFooterValue;
125
  public String getItemHyperLinkValue()
125
  }
126
  {
126
127
    return itemHyperLinkValue;
127
  public String getItemHyperLinkValue()
128
  }
128
  {
129
129
    return itemHyperLinkValue;
130
  public void setItemHyperLinkValue(String newItemHyperLinkValue)
130
  }
131
  {
131
132
    itemHyperLinkValue = newItemHyperLinkValue;
132
  public void setItemHyperLinkValue(String newItemHyperLinkValue)
133
  }
133
  {
134
134
    itemHyperLinkValue = newItemHyperLinkValue;
135
  public String getHeaderHorizontalAlign()
135
  }
136
  {
136
137
    return headerHorizontalAlign;
137
  public String getHeaderHorizontalAlign()
138
  }
138
  {
139
139
    return headerHorizontalAlign;
140
  public void setHeaderHorizontalAlign(String newHeaderHorizontalAlign)
140
  }
141
  {
141
142
    headerHorizontalAlign = newHeaderHorizontalAlign;
142
  public void setHeaderHorizontalAlign(String newHeaderHorizontalAlign)
143
  }
143
  {
144
144
    headerHorizontalAlign = newHeaderHorizontalAlign;
145
  public String getHeaderVerticalAlign()
145
  }
146
  {
146
147
    return headerVerticalAlign;
147
  public String getHeaderVerticalAlign()
148
  }
148
  {
149
149
    return headerVerticalAlign;
150
  public void setHeaderVerticalAlign(String newHeaderVerticalAlign)
150
  }
151
  {
151
152
    headerVerticalAlign = newHeaderVerticalAlign;
152
  public void setHeaderVerticalAlign(String newHeaderVerticalAlign)
153
  }
153
  {
154
154
    headerVerticalAlign = newHeaderVerticalAlign;
155
  public String getFooterHorizontalAlign()
155
  }
156
  {
156
157
    return footerHorizontalAlign;
157
  public String getFooterHorizontalAlign()
158
  }
158
  {
159
159
    return footerHorizontalAlign;
160
  public void setFooterHorizontalAlign(String newFooterHorizontalAlign)
160
  }
161
  {
161
162
    footerHorizontalAlign = newFooterHorizontalAlign;
162
  public void setFooterHorizontalAlign(String newFooterHorizontalAlign)
163
  }
163
  {
164
164
    footerHorizontalAlign = newFooterHorizontalAlign;
165
  public String getFooterVerticalAlign()
165
  }
166
  {
166
167
    return footerVerticalAlign;
167
  public String getFooterVerticalAlign()
168
  }
168
  {
169
169
    return footerVerticalAlign;
170
  public void setFooterVerticalAlign(String newFooterVerticalAlign)
170
  }
171
  {
171
172
    footerVerticalAlign = newFooterVerticalAlign;
172
  public void setFooterVerticalAlign(String newFooterVerticalAlign)
173
  }
173
  {
174
174
    footerVerticalAlign = newFooterVerticalAlign;
175
  public String getItemHorizontalAlign()
175
  }
176
  {
176
177
    return itemHorizontalAlign;
177
  public String getItemHorizontalAlign()
178
  }
178
  {
179
179
    return itemHorizontalAlign;
180
  public void setItemHorizontalAlign(String newItemHorizontalAlign)
180
  }
181
  {
181
182
    itemHorizontalAlign = newItemHorizontalAlign;
182
  public void setItemHorizontalAlign(String newItemHorizontalAlign)
183
  }
183
  {
184
184
    itemHorizontalAlign = newItemHorizontalAlign;
185
  public String getItemVerticalAlign()
185
  }
186
  {
186
187
    return itemVerticalAlign;
187
  public String getItemVerticalAlign()
188
  }
188
  {
189
189
    return itemVerticalAlign;
190
  public void setItemVerticalAlign(String newItemVerticalAlign)
190
  }
191
  {
191
192
    itemVerticalAlign = newItemVerticalAlign;
192
  public void setItemVerticalAlign(String newItemVerticalAlign)
193
  }
193
  {
194
194
    itemVerticalAlign = newItemVerticalAlign;
195
  public String [] getItemHyperLinkValues()
195
  }
196
  {
196
197
    return itemHyperLinkValues;
197
198
  }
198
199
199
  public String getItemPattern()
200
  public void setItemHyperLinkValues (String [] newItemHyperLinkValues)
200
  {
201
  {
201
    return itemPattern;
202
    itemHyperLinkValues = newItemHyperLinkValues;
202
  }
203
  }
203
204
204
  public void setItemPattern(String newItemPattern)
205
  public String getItemPattern()
205
  {
206
  {
206
    itemPattern = newItemPattern;
207
    return itemPattern;
207
  }
208
  }
208
209
209
  public String getItemHyperLinkTarget()
210
  public void setItemPattern(String newItemPattern)
210
  {
211
  {
211
    return itemHyperLinkTarget;
212
    itemPattern = newItemPattern;
212
  }
213
  }
213
214
214
  public void setItemHyperLinkTarget(String newItemHyperLinkTarget)
215
  public String getItemHyperLinkTarget()
215
  {
216
  {
216
    itemHyperLinkTarget = newItemHyperLinkTarget;
217
    return itemHyperLinkTarget;
217
  }
218
  }
218
219
219
  public boolean isOrder()
220
  public void setItemHyperLinkTarget(String newItemHyperLinkTarget)
220
  {
221
  {
221
    return order;
222
    itemHyperLinkTarget = newItemHyperLinkTarget;
222
  }
223
  }
223
224
224
  public void setOrder(boolean newOrder)
225
  public boolean isOrder()
225
  {
226
  {
226
    order = newOrder;
227
    return order;
227
  }
228
  }
228
229
229
  public ArrayList getAggregates ()
230
  public void setOrder(boolean newOrder)
230
  {
231
  {
231
    return aggregates;
232
    order = newOrder;
232
  }
233
  }
233
234
234
  public void setAggregates (ArrayList newAggregates)
235
  public ArrayList getAggregates ()
235
  {
236
  {
236
    aggregates = newAggregates;
237
    return aggregates;
237
  }
238
  }
238
239
239
  public String getFooterStyle()
240
  public void setAggregates (ArrayList newAggregates)
240
  {
241
  {
241
    return footerStyle;
242
    aggregates = newAggregates;
242
  }
243
  }
243
244
}
244
  public void setFooterStyle(String newFooterStyle)
245
  {
246
    footerStyle = newFooterStyle;
247
  }
248
249
  public String getHeaderStyle()
250
  {
251
    return headerStyle;
252
  }
253
254
  public void setHeaderStyle(String newHeaderStyle)
255
  {
256
    headerStyle = newHeaderStyle;
257
  }
258
259
  public String getItemStyle()
260
  {
261
    return itemStyle;
262
  }
263
264
  public void setItemStyle(String newItemStyle)
265
  {
266
    itemStyle = newItemStyle;
267
  }
268
}
(-)src/org/apache/taglibs/datagrid/DataGridTag.java (-52 / +89 lines)
Lines 115-127 Link Here
115
  private boolean     scroll;
115
  private boolean     scroll;
116
  private Collection  items;
116
  private Collection  items;
117
  private int         sizeItems;
117
  private int         sizeItems;
118
  private Object [][] values;
118
  private Cell [][]   cells;
119
  private String      itemVar;
119
  private String      itemVar;
120
  private ArrayList   columns;
120
  private ArrayList   columns;
121
  private String      headerStyle;
121
  private String      headerStyleClass;
122
  private String      headerStyleClass;
123
  private String      footerStyle;
122
  private String      footerStyleClass;
124
  private String      footerStyleClass;
125
  private String      rowsStyle;
123
  private String      rowsStyleClass;
126
  private String      rowsStyleClass;
124
  private String      rowsHiliteStyleClass;
127
  private String      rowsHiliteStyleClass;
128
  private String      alternateRowsStyle;
125
  private String      alternateRowsStyleClass;
129
  private String      alternateRowsStyleClass;
126
  private String      alternateRowsHiliteStyleClass;  
130
  private String      alternateRowsHiliteStyleClass;  
127
  private String      height;
131
  private String      height;
Lines 130-135 Link Here
130
  private boolean     footerShow;
134
  private boolean     footerShow;
131
  private String      cellPadding;
135
  private String      cellPadding;
132
  private String      cellSpacing;
136
  private String      cellSpacing;
137
  private String      style;
133
  private String      styleClass;
138
  private String      styleClass;
134
  private String      name;
139
  private String      name;
135
  private String      parameterNameOrderIndex;
140
  private String      parameterNameOrderIndex;
Lines 234-254 Link Here
234
        
239
        
235
        if      (element.getNodeName ().equals ("header"))
240
        if      (element.getNodeName ().equals ("header"))
236
        {
241
        {
242
          if (element.hasAttribute ("style"))      headerStyle      = element.getAttribute ("style");
237
          if (element.hasAttribute ("styleClass")) headerStyleClass = element.getAttribute ("styleClass");
243
          if (element.hasAttribute ("styleClass")) headerStyleClass = element.getAttribute ("styleClass");
238
          if (element.hasAttribute ("show"))       headerShow       = element.getAttribute ("show").equals ("true");
244
          if (element.hasAttribute ("show"))       headerShow       = element.getAttribute ("show").equals ("true");
239
        }
245
        }
240
        else if (element.getNodeName ().equals ("footer"))
246
        else if (element.getNodeName ().equals ("footer"))
241
        {
247
        {
248
          if (element.hasAttribute ("style"))      footerStyle      = element.getAttribute ("style");
242
          if (element.hasAttribute ("styleClass")) footerStyleClass = element.getAttribute ("styleClass");
249
          if (element.hasAttribute ("styleClass")) footerStyleClass = element.getAttribute ("styleClass");
243
          if (element.hasAttribute ("show"))       footerShow       = element.getAttribute ("show").equals ("true");
250
          if (element.hasAttribute ("show"))       footerShow       = element.getAttribute ("show").equals ("true");
244
        }
251
        }
245
        else if (element.getNodeName ().equals ("rows"))
252
        else if (element.getNodeName ().equals ("rows"))
246
        {
253
        {
254
          if (element.hasAttribute ("style"))            rowsStyle            = element.getAttribute ("style");                
247
          if (element.hasAttribute ("styleClass"))       rowsStyleClass       = element.getAttribute ("styleClass");        
255
          if (element.hasAttribute ("styleClass"))       rowsStyleClass       = element.getAttribute ("styleClass");        
248
          if (element.hasAttribute ("hiliteStyleClass")) rowsHiliteStyleClass = element.getAttribute ("hiliteStyleClass");                  
256
          if (element.hasAttribute ("hiliteStyleClass")) rowsHiliteStyleClass = element.getAttribute ("hiliteStyleClass");                  
249
        }
257
        }
250
        else if (element.getNodeName ().equals ("alternateRows"))
258
        else if (element.getNodeName ().equals ("alternateRows"))
251
        {
259
        {
260
          if (element.hasAttribute ("style"))            alternateRowsStyle            = element.getAttribute ("style");
252
          if (element.hasAttribute ("styleClass"))       alternateRowsStyleClass       = element.getAttribute ("styleClass");
261
          if (element.hasAttribute ("styleClass"))       alternateRowsStyleClass       = element.getAttribute ("styleClass");
253
          if (element.hasAttribute ("hiliteStyleClass")) alternateRowsHiliteStyleClass = element.getAttribute ("hiliteStyleClass");                            
262
          if (element.hasAttribute ("hiliteStyleClass")) alternateRowsHiliteStyleClass = element.getAttribute ("hiliteStyleClass");                            
254
        }
263
        }
Lines 283-288 Link Here
283
                
292
                
284
                if      (element.getNodeName ().equals ("header"))
293
                if      (element.getNodeName ().equals ("header"))
285
                {
294
                {
295
                  if (element.hasAttribute ("style"))      column.setHeaderStyleClass      (element.getAttribute ("style"));
286
                  if (element.hasAttribute ("styleClass")) column.setHeaderStyleClass      (element.getAttribute ("styleClass"));
296
                  if (element.hasAttribute ("styleClass")) column.setHeaderStyleClass      (element.getAttribute ("styleClass"));
287
                  if (element.hasAttribute ("value"))      column.setHeaderValue           (element.getAttribute ("value"));
297
                  if (element.hasAttribute ("value"))      column.setHeaderValue           (element.getAttribute ("value"));
288
                  if (element.hasAttribute ("hAlign"))     column.setHeaderHorizontalAlign (element.getAttribute ("hAlign"));
298
                  if (element.hasAttribute ("hAlign"))     column.setHeaderHorizontalAlign (element.getAttribute ("hAlign"));
Lines 290-309 Link Here
290
                }
300
                }
291
                else if (element.getNodeName ().equals ("item"))
301
                else if (element.getNodeName ().equals ("item"))
292
                {
302
                {
293
                  if (element.hasAttribute ("styleClass")) column.setItemStyleClass      (element.getAttribute ("styleClass"));
303
                  if (element.hasAttribute ("style"))           column.setItemStyleClass      (element.getAttribute ("style"));
294
                  if (element.hasAttribute ("value"))      column.setItemValue           (element.getAttribute ("value"));
304
                  if (element.hasAttribute ("styleClass"))      column.setItemStyleClass      (element.getAttribute ("styleClass"));
295
                  if (element.hasAttribute ("pattern"))    column.setItemPattern         (element.getAttribute ("pattern"));
305
                  if (element.hasAttribute ("value"))           column.setItemValue           (element.getAttribute ("value"));
296
                  if (element.hasAttribute ("hAlign"))     column.setItemHorizontalAlign (element.getAttribute ("hAlign"));
306
                  if (element.hasAttribute ("pattern"))         column.setItemPattern         (element.getAttribute ("pattern"));
297
                  if (element.hasAttribute ("vAlign"))     column.setItemVerticalAlign   (element.getAttribute ("vAlign"));
307
                  if (element.hasAttribute ("hAlign"))          column.setItemHorizontalAlign (element.getAttribute ("hAlign"));
298
                  if (element.hasAttribute ("hyperLink")) 
308
                  if (element.hasAttribute ("vAlign"))          column.setItemVerticalAlign   (element.getAttribute ("vAlign"));
299
                  {
309
                  if (element.hasAttribute ("hyperLink"))       column.setItemHyperLinkValue  (element.getAttribute ("hyperLink"));
300
                    column.setItemHyperLinkValue  (element.getAttribute ("hyperLink"));
301
                    column.setItemHyperLinkValues (new String [sizeItems]);
302
                  }
303
                  if (element.hasAttribute ("hyperLinkTarget")) column.setItemHyperLinkTarget (element.getAttribute ("hyperLinkTarget"));
310
                  if (element.hasAttribute ("hyperLinkTarget")) column.setItemHyperLinkTarget (element.getAttribute ("hyperLinkTarget"));
304
                }
311
                }
305
                else if (element.getNodeName ().equals ("footer"))
312
                else if (element.getNodeName ().equals ("footer"))
306
                {
313
                {
314
                  if (element.hasAttribute ("style"))      column.setFooterStyleClass      (element.getAttribute ("style"));
307
                  if (element.hasAttribute ("styleClass")) column.setFooterStyleClass      (element.getAttribute ("styleClass"));
315
                  if (element.hasAttribute ("styleClass")) column.setFooterStyleClass      (element.getAttribute ("styleClass"));
308
                  if (element.hasAttribute ("value"))      column.setFooterValue           (element.getAttribute ("value"));
316
                  if (element.hasAttribute ("value"))      column.setFooterValue           (element.getAttribute ("value"));
309
                  if (element.hasAttribute ("hAlign"))     column.setFooterHorizontalAlign (element.getAttribute ("hAlign"));
317
                  if (element.hasAttribute ("hAlign"))     column.setFooterHorizontalAlign (element.getAttribute ("hAlign"));
Lines 333-369 Link Here
333
  private void calculateValues () throws Exception
341
  private void calculateValues () throws Exception
334
  {
342
  {
335
    Iterator  iterator;
343
    Iterator  iterator;
336
    Object [] itemValues;
344
    Cell []   rowCells;
337
    Object    value;
338
    Column    column;
345
    Column    column;
346
    Cell      cell;
339
    Format    format = null;
347
    Format    format = null;
340
    int       indexColumns, indexValues, indexAggregates, lengthAggregates, sizeColumns;
348
    int       indexColumn, indexRow, indexAggregate, sizeAggregates, sizeColumns;
341
349
342
    if (items != null)
350
    if (items != null)
343
    {    
351
    {    
344
      sizeColumns = columns.size ();
352
      sizeColumns = columns.size ();
345
      values      = new Object [sizeItems][sizeColumns];
353
      cells       = new Cell [sizeItems][sizeColumns];
346
      indexValues = 0;    
354
      indexRow    = 0;
355
347
      iterator    = items.iterator ();
356
      iterator    = items.iterator ();
348
      while (iterator.hasNext ())
357
      while (iterator.hasNext ())
349
      {
358
      {
350
        pageContext.setAttribute (itemVar, iterator.next ());
359
        pageContext.setAttribute (itemVar, iterator.next ());
351
360
352
        itemValues = values [indexValues];
361
        rowCells = cells [indexRow];
353
        for (indexColumns = 0; indexColumns < sizeColumns; indexColumns++)
362
        for (indexColumn = 0; indexColumn < sizeColumns; indexColumn++)
354
        {
363
        {
355
          column                    = (Column)columns.get(indexColumns);
364
          column                    = (Column) columns.get (indexColumn);
356
          value                     = ExpressionLanguageHelper.evalObject ("value", column.getItemValue (), this, pageContext);
365
          cell                      = new Cell ();
357
          itemValues [indexColumns] = value;
366
          cell.setValue (ExpressionLanguageHelper.evalObject ("value", column.getItemValue (), this, pageContext));
358
          
367
          if (column.getItemHyperLinkValue () != null) 
359
          lengthAggregates = column.getAggregates ().size ();
368
            cell.setHyperLink (ExpressionLanguageHelper.evalString ("hyperLink", column.getItemHyperLinkValue (), this, pageContext));
360
          for (indexAggregates = 0; indexAggregates < lengthAggregates; indexAggregates++)
361
            ((Aggregate) column.getAggregates ().get (indexAggregates)).getFunction ().addValue (value);
362
369
363
          if (column.getItemHyperLinkValue () != null) column.getItemHyperLinkValues () [indexValues] = org.apache.taglibs.datagrid.helper.ExpressionLanguageHelper.evalString ("hyperLink", column.getItemHyperLinkValue (), this, pageContext);
370
          rowCells [indexColumn] = cell;
371
          
372
          sizeAggregates = column.getAggregates ().size ();
373
          for (indexAggregate = 0; indexAggregate < sizeAggregates; indexAggregate++)
374
            ((Aggregate) column.getAggregates ().get (indexAggregate)).getFunction ().addValue (cell.getValue ());
364
        }
375
        }
365
376
366
        indexValues++;
377
        indexRow++;
367
      }
378
      }
368
379
369
      pageContext.removeAttribute (itemVar);
380
      pageContext.removeAttribute (itemVar);
Lines 377-386 Link Here
377
  {
388
  {
378
    ValueComparator comparator;
389
    ValueComparator comparator;
379
390
380
    if ((values != null) && (orderIndex != 0))
391
    if ((cells != null) && (orderIndex != 0))
381
    {
392
    {
382
      comparator = new ValueComparator (orderIndex);
393
      comparator = new ValueComparator (orderIndex);
383
      Arrays.sort (values, comparator);
394
      Arrays.sort (cells, comparator);
384
    }
395
    }
385
  }
396
  }
386
  
397
  
Lines 447-452 Link Here
447
      tableStart.append (styleClass);
458
      tableStart.append (styleClass);
448
      tableStart.append ("\"");
459
      tableStart.append ("\"");
449
    }
460
    }
461
    if (style  != null) 
462
    {
463
      tableStart.append (" style=\"");
464
      tableStart.append (style);
465
      tableStart.append ("\"");
466
    }
450
    if (cellPadding != null) 
467
    if (cellPadding != null) 
451
    {
468
    {
452
      tableStart.append (" cellpadding=\"");
469
      tableStart.append (" cellpadding=\"");
Lines 477-542 Link Here
477
  {
494
  {
478
    Iterator  iterator;
495
    Iterator  iterator;
479
    Column    column;
496
    Column    column;
480
    Object [] itemValues;
497
    Cell []   rowCells;
481
    Object    value;
498
    Cell      cell;
482
    String    link;
499
    String    value, hyperLink;
483
    int       indexColumns, indexValues, sizeColumns, sizeValues;
500
    int       indexColumn, indexRow, sizeColumns, sizeRows;
484
    boolean   alternate = false;
501
    boolean   alternate = false;
485
502
486
    if (values != null)
503
    if (cells != null)
487
    {
504
    {
488
      if ((pageSize > 0) && (!customPaging))
505
      if ((pageSize > 0) && (!customPaging))
489
      {
506
      {
490
        indexValues = pageIndex;
507
        indexRow  = pageIndex;
491
        sizeValues  = pageIndex + pageSize;
508
        sizeRows  = pageIndex + pageSize;
492
        if (sizeValues > values.length) sizeValues = values.length;
509
        if (sizeRows > cells.length) sizeRows = cells.length;
493
      }
510
      }
494
      else
511
      else
495
      {
512
      {
496
        indexValues = 0;
513
        indexRow = 0;
497
        sizeValues  = values.length;
514
        sizeRows = cells.length;
498
      }
515
      }
499
516
500
      sizeColumns = columns.size ();
517
      sizeColumns = columns.size ();
501
      for (; indexValues < sizeValues; indexValues++)
518
      for (; indexRow < sizeRows; indexRow++)
502
      {
519
      {
503
        itemValues = values [indexValues];
520
        rowCells = cells [indexRow];
504
521
505
        out.print ("<tr");
522
        out.print ("<tr");
506
        if ((alternate = !alternate) || (alternateRowsStyleClass == null))
523
        if ((alternate = !alternate) || ((alternateRowsStyleClass == null) && (alternateRowsStyle == null)))
507
        {
524
        {
525
          if (rowsStyle            != null) out.print (" style=\"" + rowsStyle + "\"");
508
          if (rowsStyleClass       != null) out.print (" class=\"" + rowsStyleClass + "\"");
526
          if (rowsStyleClass       != null) out.print (" class=\"" + rowsStyleClass + "\"");
509
          if (rowsHiliteStyleClass != null) out.print (" onMouseOver=\"this.className='" + rowsHiliteStyleClass + "'\" onMouseOut=\"this.className='" + rowsStyleClass + "'\"");
527
          if (rowsHiliteStyleClass != null) out.print (" onMouseOver=\"this.className='" + rowsHiliteStyleClass + "'\" onMouseOut=\"this.className='" + rowsStyleClass + "'\"");
510
        }
528
        }
511
        else
529
        else
512
        {
530
        {
513
          out.print (" class=\"" + alternateRowsStyleClass + "\"");
531
          if (alternateRowsStyleClass != null) out.print (" class=\"" + alternateRowsStyleClass + "\"");
532
          if (alternateRowsStyle      != null) out.print (" style=\"" + alternateRowsStyle      + "\"");
533
          
514
          if      (alternateRowsHiliteStyleClass != null) out.print (" onMouseOver=\"this.className='" + alternateRowsHiliteStyleClass + "'\" onMouseOut=\"this.className='" + alternateRowsStyleClass + "'\"");
534
          if      (alternateRowsHiliteStyleClass != null) out.print (" onMouseOver=\"this.className='" + alternateRowsHiliteStyleClass + "'\" onMouseOut=\"this.className='" + alternateRowsStyleClass + "'\"");
515
          else if (rowsHiliteStyleClass          != null) out.print (" onMouseOver=\"this.className='" + rowsHiliteStyleClass          + "'\" onMouseOut=\"this.className='" + alternateRowsStyleClass + "'\"");
535
          else if (rowsHiliteStyleClass          != null) out.print (" onMouseOver=\"this.className='" + rowsHiliteStyleClass          + "'\" onMouseOut=\"this.className='" + alternateRowsStyleClass + "'\"");
516
        }
536
        }
517
        out.println (">");
537
        out.println (">");
518
        
538
        
519
        for (indexColumns = 0; indexColumns < sizeColumns; indexColumns++)
539
        for (indexColumn = 0; indexColumn < sizeColumns; indexColumn++)
520
        {
540
        {
521
          column = (Column)columns.get(indexColumns);
541
          column = (Column) columns.get (indexColumn);
522
542
523
          out.print ("<td");
543
          out.print ("<td");
524
          if (column.getWidth               () != null) out.print (" width=\""  + column.getWidth ()               + "\""); 
544
          if (column.getWidth               () != null) out.print (" width=\""  + column.getWidth ()               + "\""); 
525
          if (column.getItemHorizontalAlign () != null) out.print (" align=\""  + column.getItemHorizontalAlign () + "\"");          
545
          if (column.getItemHorizontalAlign () != null) out.print (" align=\""  + column.getItemHorizontalAlign () + "\"");          
526
          if (column.getItemVerticalAlign   () != null) out.print (" valign=\"" + column.getItemVerticalAlign ()   + "\"");          
546
          if (column.getItemVerticalAlign   () != null) out.print (" valign=\"" + column.getItemVerticalAlign ()   + "\"");          
527
          if (column.getItemStyleClass      () != null) out.print (" class=\""  + column.getItemStyleClass ()      + "\"");
547
          if (column.getItemStyleClass      () != null) out.print (" class=\""  + column.getItemStyleClass ()      + "\"");
548
          if (column.getItemStyle           () != null) out.print (" style=\""  + column.getItemStyle ()           + "\"");
528
          out.println (">");
549
          out.println (">");
529
550
530
          value = itemValues [indexColumns];
551
          cell = rowCells [indexColumn];
531
          if ((value != null) && (column.getItemPattern () != null))
552
          if (cell.getValue () != null)
532
            value = formatValue (value, column.getItemPattern ());
533
534
          if (value != null)
535
          {
553
          {
536
            if (column.getItemHyperLinkValues () != null) 
554
            if (column.getItemPattern () != null)
555
              value = formatValue (cell.getValue (), column.getItemPattern ());
556
            else
557
              value = cell.getValue ().toString ();
558
559
            if (cell.getHyperLink () != null) 
537
            {
560
            {
538
              out.print   ("<a href=\"");
561
              out.print   ("<a href=\"");
539
              out.print   (((HttpServletResponse) pageContext.getResponse ()).encodeURL (column.getItemHyperLinkValues () [indexValues]));
562
              out.print   (((HttpServletResponse) pageContext.getResponse ()).encodeURL (cell.getHyperLink ()));
540
              out.print   ("\"");
563
              out.print   ("\"");
541
              if (column.getItemHyperLinkTarget () != null) 
564
              if (column.getItemHyperLinkTarget () != null) 
542
              {
565
              {
Lines 571-576 Link Here
571
    
594
    
572
    out.print ("<tr");
595
    out.print ("<tr");
573
    if (headerStyleClass != null) out.print (" class=\"" + headerStyleClass + "\"");
596
    if (headerStyleClass != null) out.print (" class=\"" + headerStyleClass + "\"");
597
    if (headerStyle      != null) out.print (" style=\"" + headerStyle      + "\"");
574
    out.println (">");
598
    out.println (">");
575
599
576
    length = columns.size ();
600
    length = columns.size ();
Lines 583-588 Link Here
583
      if (column.getHeaderHorizontalAlign () != null) out.print (" align=\""  + column.getHeaderHorizontalAlign () + "\"");          
607
      if (column.getHeaderHorizontalAlign () != null) out.print (" align=\""  + column.getHeaderHorizontalAlign () + "\"");          
584
      if (column.getHeaderVerticalAlign   () != null) out.print (" valign=\"" + column.getHeaderVerticalAlign ()   + "\"");          
608
      if (column.getHeaderVerticalAlign   () != null) out.print (" valign=\"" + column.getHeaderVerticalAlign ()   + "\"");          
585
      if (column.getHeaderStyleClass      () != null) out.print (" class=\""  + column.getHeaderStyleClass ()      + "\"");
609
      if (column.getHeaderStyleClass      () != null) out.print (" class=\""  + column.getHeaderStyleClass ()      + "\"");
610
      if (column.getHeaderStyle           () != null) out.print (" style=\""  + column.getHeaderStyle ()           + "\"");
586
      out.println (">");
611
      out.println (">");
587
612
588
      value = ExpressionLanguageHelper.evalObject ("value", column.getHeaderValue (), this, pageContext);
613
      value = ExpressionLanguageHelper.evalObject ("value", column.getHeaderValue (), this, pageContext);
Lines 624-629 Link Here
624
649
625
    out.print ("<tr");
650
    out.print ("<tr");
626
    if (footerStyleClass != null) out.print (" class=\"" + footerStyleClass + "\"");
651
    if (footerStyleClass != null) out.print (" class=\"" + footerStyleClass + "\"");
652
    if (footerStyle      != null) out.print (" style=\"" + footerStyle      + "\"");
627
    out.println (">");
653
    out.println (">");
628
654
629
    columnIterator = columns.iterator ();
655
    columnIterator = columns.iterator ();
Lines 647-652 Link Here
647
      if (column.getFooterHorizontalAlign () != null) out.print (" align=\""  + column.getFooterHorizontalAlign () + "\"");          
673
      if (column.getFooterHorizontalAlign () != null) out.print (" align=\""  + column.getFooterHorizontalAlign () + "\"");          
648
      if (column.getFooterVerticalAlign   () != null) out.print (" valign=\"" + column.getFooterVerticalAlign ()   + "\"");          
674
      if (column.getFooterVerticalAlign   () != null) out.print (" valign=\"" + column.getFooterVerticalAlign ()   + "\"");          
649
      if (column.getFooterStyleClass      () != null) out.print (" class=\""  + column.getFooterStyleClass ()      + "\"");
675
      if (column.getFooterStyleClass      () != null) out.print (" class=\""  + column.getFooterStyleClass ()      + "\"");
676
      if (column.getFooterStyle           () != null) out.print (" style=\""  + column.getFooterStyle ()           + "\"");
650
      out.println (">");
677
      out.println (">");
651
678
652
      value = ExpressionLanguageHelper.evalObject ("value", column.getFooterValue (), this, pageContext);
679
      value = ExpressionLanguageHelper.evalObject ("value", column.getFooterValue (), this, pageContext);
Lines 771-776 Link Here
771
    cellSpacing = value;
798
    cellSpacing = value;
772
  }
799
  }
773
800
801
 /**
802
  * Set the attribute <b>style</b> that defines the CSS style to be used in the datagrid.
803
  *
804
  * @param String style defines the CSS style to be used in the datagrid.
805
  */
806
  public void setStyle (String value)
807
  {
808
    style = value;
809
  }
810
  
774
 /**
811
 /**
775
  * Set the attribute <b>styleClass</b> that defines the CSS class to be used in the datagrid.
812
  * Set the attribute <b>styleClass</b> that defines the CSS class to be used in the datagrid.
776
  *
813
  *
(-)src/org/apache/taglibs/datagrid/ValueComparator.java (-62 / +63 lines)
Lines 1-62 Link Here
1
/*
1
/*
2
 * Copyright 2004 The Apache Software Foundation.
2
 * Copyright 2004 The Apache Software Foundation.
3
 * 
3
 * 
4
 * Licensed under the Apache License, Version 2.0 (the "License");
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
6
 * You may obtain a copy of the License at
7
 * 
7
 * 
8
 *      http://www.apache.org/licenses/LICENSE-2.0
8
 *      http://www.apache.org/licenses/LICENSE-2.0
9
 * 
9
 * 
10
 * Unless required by applicable law or agreed to in writing, software
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
14
 * limitations under the License.
15
 */
15
 */
16
package org.apache.taglibs.datagrid;
16
package org.apache.taglibs.datagrid;
17
17
18
import java.util.Comparator;
18
import java.util.Comparator;
19
19
20
/**
20
/**
21
 * Comparator Class to order the values of a data grid.
21
 * Comparator Class to order the values of a data grid.
22
 *
22
 *
23
 * @see DataGridTag
23
 * @see DataGridTag
24
 */
24
 */
25
25
26
public class ValueComparator implements Comparator
26
public class ValueComparator implements Comparator
27
{
27
{
28
  private int     index;
28
  private int     index;
29
  private boolean inverse;
29
  private boolean inverse;
30
  
30
  
31
  public ValueComparator (int index)
31
  public ValueComparator (int index)
32
  {
32
  {
33
    if (index >= 0)
33
    if (index >= 0)
34
      this.index   = index - 1;
34
      this.index   = index - 1;
35
    else
35
    else
36
    {
36
    {
37
      this.inverse = true;
37
      this.inverse = true;
38
      this.index   = -index - 1;
38
      this.index   = -index - 1;
39
    }
39
    }
40
  }
40
  }
41
41
42
  public int compare (Object values1, Object values2)
42
  public int compare (Object values1, Object values2)
43
  {
43
  {
44
    Object obj1, obj2;
44
    Cell cell1, cell2;
45
    int    result;
45
    int  result;
46
46
47
    obj1 = ((Object []) values1) [index];
47
    cell1 = ((Cell []) values1) [index];
48
    obj2 = ((Object []) values2) [index];
48
    cell2 = ((Cell []) values2) [index];
49
    
49
    
50
    if      (obj1 == null)
50
    if      (cell1 == null)
51
      result = -1;
51
      result = -1;
52
    else if (obj2 == null)
52
    else if (cell2 == null)
53
      result = 1;
53
      result = 1;
54
    else if ((obj1 instanceof Comparable) && (obj2 instanceof Comparable))
54
    else if ((cell1.getValue () instanceof Comparable) && (cell2.getValue () instanceof Comparable))
55
      result = ((Comparable) obj1).compareTo (obj2);
55
      result = ((Comparable) cell1.getValue ()).compareTo (cell2.getValue ());
56
    else 
56
    else 
57
      result = obj1.toString ().compareTo (obj2.toString ());
57
      result = cell1.getValue ().toString ().compareTo (cell2.getValue ().toString ());
58
58
59
    if (inverse) result = -result;
59
    if (inverse) result = -result;
60
    return (result);
60
    
61
  }
61
    return (result);
62
}
62
  }
63
}
(-)xml/datagrid.xml (-1 / +25 lines)
Lines 130-135 Link Here
130
         <description>Attribute to set a vertical scroll bar. If the value is true a vertical scroll bar will be rendered with the datagrid.</description>
130
         <description>Attribute to set a vertical scroll bar. If the value is true a vertical scroll bar will be rendered with the datagrid.</description>
131
      </attribute>
131
      </attribute>
132
      <attribute>
132
      <attribute>
133
         <name>style</name>
134
         <required>false</required>
135
         <rtexprvalue>true</rtexprvalue>
136
         <description>Attribute to set the CSS style for the datagrid.</description>
137
      </attribute>
138
      <attribute>
133
         <name>styleClass</name>
139
         <name>styleClass</name>
134
         <required>false</required>
140
         <required>false</required>
135
         <rtexprvalue>true</rtexprvalue>
141
         <rtexprvalue>true</rtexprvalue>
Lines 249-263 Link Here
249
<!-- The following is used to generate the tag library revision history
255
<!-- The following is used to generate the tag library revision history
250
     changes.html file. There can be 0 .. N revisions.  Each revision
256
     changes.html file. There can be 0 .. N revisions.  Each revision
251
     can have 0 .. N sections, each section can have 0 .. N items. -->
257
     can have 0 .. N sections, each section can have 0 .. N items. -->
258
<revision release="Development" date="09/22/2004">
259
  <description>
260
    Bug fix.
261
  </description>
262
  <section name="Bugs Fixed">
263
    <item>
264
      Fixed problem with hyperlinks not beign ordered in a column.
265
    </item>
266
  </section>
267
</revision>
268
252
<revision release="Development" date="09/02/2004">
269
<revision release="Development" date="09/02/2004">
253
  <description>
270
  <description>
254
    The Data Grid tag library is in development, changes are fast and furious.
271
    Bug fix.
255
  </description>
272
  </description>
256
  <section name="Bugs Fixed">
273
  <section name="Bugs Fixed">
257
    <item>
274
    <item>
258
      Fixed a bug when using Arrays in the item attribute instead of Collections.
275
      Fixed a bug when using Arrays in the item attribute instead of Collections.
259
    </item>
276
    </item>
260
  </section>
277
  </section>
278
</revision>
279
280
<revision release="Development" date="06/06/2004">
281
  <description>
282
    The Data Grid tag library is in development,
283
    changes are fast and furious.
284
  </description>
261
</revision>
285
</revision>
262
286
263
</document>
287
</document>

Return to bug 31353