La directive taglib est bonne.;)
En fait, essaie plutôt ceci :
Code:<html:text property="nationality" value="${applicant['nationality']}"/>
Version imprimable
La directive taglib est bonne.;)
En fait, essaie plutôt ceci :
Code:<html:text property="nationality" value="${applicant['nationality']}"/>
l'erreur suivante apparait
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 10:13:56,416 ERROR [action]:253 - "Servlet.service()" pour la servlet action a généré une exception javax.servlet.jsp.el.ELException: Unable to find a value for "nationality" in object of class "java.lang.String" using operator "[]" at org.apache.commons.el.Logger.logError(Logger.java:481) at org.apache.commons.el.Logger.logError(Logger.java:498) at org.apache.commons.el.Logger.logError(Logger.java:611) at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:340) at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:932) at org.apache.jsp.applicant.displayApplicant_jsp._jspx_meth_html_text_9(displayApplicant_jsp.java:2595) at org.apache.jsp.applicant.displayApplicant_jsp._jspService(displayApplicant_jsp.java:516) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
Mais de quels types sont applicant et nationality ?
la classe applicant e tcomme tu pourra le constater, nationality est de type String
et l'action form :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252 package be.qspin.qats.entities; // Generated 26-juil.-2007 11:17:10 by Hibernate Tools 3.2.0.beta7 import java.util.Date; import java.util.HashSet; import java.util.Set; /** * Define an "Applicant" entity. * */ public class Applicant implements java.io.Serializable { // Fields private Integer id; private String lastname; private String firstname; private String gender; private Date birthday; private String nationality; private String address; private String PC; private String city; private String country; private String phone; private String gsm; private String email; private String interest; private String langCom; private String source; private Integer currentIncome; private Integer desiredIncome; private String net; private String tempUnit; private JobTitle jobTitle; private Set keywords = new HashSet(0); // Constructors /** default constructor */ public Applicant() { } /** minimal constructor */ public Applicant(String lastname, String firstname, String gender, String nationality, String address, String PC, String city, String country, String phone, String gsm, String email, String interest, String langCom, String source, Integer currentIncome, Integer desiredIncome, String net, String tempUnit, JobTitle jobTitle) { this.lastname = lastname; this.firstname = firstname; this.gender = gender; this.nationality = nationality; this.address = address; this.PC = PC; this.city = city; this.country = country; this.phone = phone; this.gsm = gsm; this.email = email; this.interest = interest; this.langCom = langCom; this.source = source; this.currentIncome = currentIncome; this.desiredIncome = desiredIncome; this.net = net; this.tempUnit = tempUnit; this.jobTitle = jobTitle; } /** full constructor */ public Applicant(String lastname, String firstname, String gender, Date birthday, String nationality, String address, String PC, String city, String country, String phone, String gsm, String email, String interest, String langCom, String source, Integer currentIncome, Integer desiredIncome, String net, String tempUnit, JobTitle jobTitle, Set keywords) { this.lastname = lastname; this.firstname = firstname; this.gender = gender; this.birthday = birthday; this.nationality = nationality; this.address = address; this.PC = PC; this.city = city; this.country = country; this.phone = phone; this.gsm = gsm; this.email = email; this.interest = interest; this.langCom = langCom; this.source = source; this.currentIncome = currentIncome; this.desiredIncome = desiredIncome; this.net = net; this.tempUnit = tempUnit; this.jobTitle = jobTitle; this.keywords = keywords; } // Property accessors public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getLastname() { return this.lastname; } public void setLastname(String lastname) { this.lastname = lastname; } public String getFirstname() { return this.firstname; } public void setFirstname(String firstname) { this.firstname = firstname; } public String getGender() { return this.gender; } public void setGender(String gender) { this.gender = gender; } public Date getBirthday() { return this.birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getNationality() { return this.nationality; } public void setNationality(String nationality) { this.nationality = nationality; } public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; } public String getPC() { return this.PC; } public void setPC(String PC) { this.PC = PC; } public String getCity() { return this.city; } public void setCity(String city) { this.city = city; } public String getCountry() { return this.country; } public void setCountry(String country) { this.country = country; } public String getPhone() { return this.phone; } public void setPhone(String phone) { this.phone = phone; } public String getGsm() { return this.gsm; } public void setGsm(String gsm) { this.gsm = gsm; } public String getEmail() { return this.email; } public void setEmail(String email) { this.email = email; } public String getInterest() { return this.interest; } public void setInterest(String interest) { this.interest = interest; } public String getLangCom() { return this.langCom; } public void setLangCom(String langCom) { this.langCom = langCom; } public String getSource() { return this.source; } public void setSource(String source) { this.source = source; } public Integer getCurrentIncome() { return this.currentIncome; } public void setCurrentIncome(Integer currentIncome) { this.currentIncome = currentIncome; } public Integer getDesiredIncome() { return this.desiredIncome; } public void setDesiredIncome(Integer desiredIncome) { this.desiredIncome = desiredIncome; } public String getNet() { return this.net; } public void setNet(String net) { this.net = net; } public String getTempUnit() { return this.tempUnit; } public void setTempUnit(String tempUnit) { this.tempUnit = tempUnit; } public JobTitle getJobTitle() { return this.jobTitle; } public void setJobTitle(JobTitle jobTitle) { this.jobTitle = jobTitle; } public Set getKeywords() { return this.keywords; } public void setKeywords(Set keywords) { this.keywords = keywords; } }
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651 /* * CreateApplicantForm.java * * Created on 23 avril 2007, 9:28 */ package be.qspin.qats.struts.form; import java.util.Calendar; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.text.SimpleDateFormat; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; /** * * @version */ public class CreateApplicantForm extends org.apache.struts.action.ActionForm { private int number; /** * */ public CreateApplicantForm() { super(); // TODO Auto-generated constructor stub } public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if (getLastname() == null || getLastname().length() < 1) { errors.add("name", new ActionMessage("errors.name.required")); } if (getFirstname() == null || getFirstname().length() < 1) { errors.add("firstname", new ActionMessage("errors.firstname.required")); }/* if ( !isValidBirthday( getDay(), getMonth(), getYear())){ errors.add("birthday", new ActionMessage("errors.birthdate")); }*/ if (!isValidMail(getMail())) errors.add("email", new ActionMessage("errors.email.valid")); return errors; } /** * Holds value of property lastname. */ private String lastname; /** * Getter for property lastname. * @return Value of property lastname. */ public String getLastname() { return this.lastname; } /** * Setter for property lastname. * @param lastname New value of property lastname. */ public void setLastname(String lastname) { this.lastname = lastname.trim().toLowerCase(); } /** * Holds value of property firstname. */ private String firstname; /** * Getter for property firstname. * @return Value of property firstname. */ public String getFirstname() { return this.firstname; } /** * Setter for property firstname. * @param firstname New value of property firstname. */ public void setFirstname(String firstname) { this.firstname = firstname.trim().toLowerCase(); } /** * Holds value of property gender. */ private String gender; /** * Getter for property gender. * @return Value of property gender. */ public String getGender() { return this.gender; } /** * Setter for property gender. * @param gender New value of property gender. */ public void setGender(String gender) { this.gender = gender.trim().toLowerCase(); } /** * Holds value of property day. */ private int day; /** * Getter for property day. * @return Value of property day. */ public int getDay() { return this.day; } /** * Setter for property day. * @param day New value of property day. */ public void setDay(int day) { this.day = day; } /** * Holds value of property month. */ private int month; /** * Getter for property month. * @return Value of property month. */ public int getMonth() { return this.month; } /** * Setter for property month. * @param month New value of property month. */ public void setMonth(int month) { this.month = month; } /** * Holds value of property year. */ private int year; /** * Getter for property year. * @return Value of property year. */ public int getYear() { return this.year; } /** * Setter for property year. * @param year New value of property year. */ public void setYear(int year) { this.year = year; } /** * Holds value of property address. */ private String address; /** * Getter for property address. * @return Value of property address. */ public String getAddress() { return this.address; } /** * Setter for property address. * @param address New value of property address. */ public void setAddress(String address) { this.address = address.trim().toLowerCase(); } /** * Holds value of property pc. */ private String pc; /** * Getter for property pc. * @return Value of property pc. */ public String getPc() { return this.pc; } /** * Setter for property pc. * @param pc New value of property pc. */ public void setPc(String pc) { this.pc = pc.trim().toLowerCase(); } /** * Holds value of property city. */ private String city; /** * Getter for property city. * @return Value of property city. */ public String getCity() { return this.city; } /** * Setter for property city. * @param city New value of property city. */ public void setCity(String city) { this.city = city.trim().toLowerCase(); } /** * Holds value of property country. */ private String country; /** * Getter for property country. * @return Value of property country. */ public String getCountry() { return this.country; } /** * Setter for property country. * @param country New value of property country. */ public void setCountry(String country) { this.country = country.trim().toLowerCase(); } /** * Holds value of property phone. */ private String phone; /** * Getter for property phone. * @return Value of property phone. */ public String getPhone() { return this.phone; } /** * Setter for property phone. * @param phone New value of property phone. */ public void setPhone(String phone) { this.phone = phone.trim().toLowerCase(); } /** * Holds value of property gsm. */ private String gsm; /** * Getter for property gsm. * @return Value of property gsm. */ public String getGsm() { return this.gsm; } /** * Setter for property gsm. * @param gsm New value of property gsm. */ public void setGsm(String gsm) { this.gsm = gsm.trim().toLowerCase(); } /** * Holds value of property mail. */ private String mail; /** * Getter for property mail. * @return Value of property mail. */ public String getMail() { return this.mail; } /** * Setter for property mail. * @param mail New value of property mail. */ public void setMail(String mail) { this.mail = mail.trim().toLowerCase(); } /** * Holds value of property nationality. */ private String nationality; /** * Getter for property nationality. * @return Value of property nationality. */ public String getNationality() { return this.nationality; } /** * Setter for property nationality. * @param nationality New value of property nationality. */ public void setNationality(String nationality) { this.nationality = nationality.trim().toLowerCase(); } public boolean isValidBirthday(int annee, int mois, int jour){ Calendar c = Calendar.getInstance(); c.set(annee,mois,jour); c.setLenient(false); try{ c.getTime(); } catch(IllegalArgumentException iAE){ return false; } return true; } public boolean isValidMail(String email){ //Set the email pattern string Pattern p = Pattern.compile(".+@.+\\.[a-z]+"); //Match the given string with the pattern Matcher m = p.matcher(email); //check whether match is found boolean matchFound = m.matches(); if (matchFound) return true; else return false; } /** * Holds value of property jobTitle. */ private String jobTitle; /** * Getter for property jobTitle. * @return Value of property jobTitle. */ public String getJobTitle() { return this.jobTitle; } /** * Setter for property jobTitle. * @param jobTitle New value of property jobTitle. */ public void setJobTitle(String jobTitle) { this.jobTitle = jobTitle; } /** * Holds value of property newJobTitle. */ private String newJobTitle; /** * Getter for property newJobTitle. * @return Value of property newJobTitle. */ public String getNewJobTitle() { return this.newJobTitle; } /** * Setter for property newJobTitle. * @param newJobTitle New value of property newJobTitle. */ public void setNewJobTitle(String newJobTitle) { this.newJobTitle = newJobTitle; } /** * Holds value of property interest. */ private String interest; /** * Getter for property interest. * @return Value of property interest. */ public String getInterest() { return this.interest; } /** * Setter for property interest. * @param interest New value of property interest. */ public void setInterest(String interest) { this.interest = interest; } /** * Holds value of property selectJobTitle. */ private String selectJobTitle = "list"; /** * Getter for property selectJobTitle. * @return Value of property selectJobTitle. */ public String getSelectJobTitle() { return this.selectJobTitle; } /** * Setter for property selectJobTitle. * @param selectJobTitle New value of property selectJobTitle. */ public void setSelectJobTitle(String selectJobTitle) { this.selectJobTitle = selectJobTitle; } /** * Holds value of property id. */ private int id; /** * Getter for property id. * @return Value of property id. */ public int getId() { return this.id; } /** * Setter for property id. * @param id New value of property id. */ public void setId(int id) { this.id = id; } /** * Holds value of property to. */ private String to; /** * Getter for property to. * @return Value of property to. */ public String getTo() { return this.to; } /** * Setter for property to. * @param to New value of property to. */ public void setTo(String to) { this.to = to; } /** * Holds value of property from. */ private String from; /** * Getter for property from. * @return Value of property from. */ public String getFrom() { return this.from; } /** * Setter for property from. * @param from New value of property from. */ public void setFrom(String from) { this.from = from; } /** * Holds value of property interest. */ private String source; /** * Getter for property interest. * @return Value of property interest. */ public String getSource() { return this.source; } /** * Setter for property interest. * @param interest New value of property interest. */ public void setSource(String source) { this.source = source; } /** * Holds value of property interest. */ private String language; /** * Getter for property interest. * @return Value of property interest. */ public String getLanguage() { return this.language; } /** * Setter for property interest. * @param interest New value of property interest. */ public void setLanguage(String language) { this.language = language; } /** * Holds value of property currentIncome. */ private int currentIncome; /** * Getter for property currentIncome. * @return Value of property currentIncome. */ public int getCurrentIncome() { return this.currentIncome; } /** * Setter for property currentIncome. * @param currentIncome New value of property currentIncome. */ public void setCurrentIncome(int currentIncome) { this.currentIncome = currentIncome; } /** * Holds value of property desiredIncome. */ private int desiredIncome; /** * Getter for property desiredIncome. * @return Value of property desiredIncome. */ public int getDesiredIncome() { return this.desiredIncome; } /** * Setter for property desiredIncome. * @param desiredIncome New value of property desiredIncome. */ public void setDesiredIncome(int desiredIncome) { this.desiredIncome = desiredIncome; } /** * Holds value of property net. */ private String net; /** * Getter for property net. * @return Value of property net. */ public String getNet() { return this.net; } /** * Setter for property net. * @param net New value of property net. */ public void setNet(String net) { this.net = net; } /** * Holds value of property temp. */ private String temp; /** * Getter for property temp. * @return Value of property temp. */ public String getTemp() { return this.temp; } /** * Setter for property temp. * @param temp New value of property temp. */ public void setTemp(String temp) { this.temp = temp; } }
Tu as bien copié le jar standard.jar de la JSTL 1.1 sous WEB-INF/lib de ton projet ?
concernant le jar standard, j'ai ete sous librarie manager (je travaille avec Netbeans 5.5), j'ai cree une nouvelle librairir JSTL et j'ai place standard.jar et jstl.jar puis j'ai ajoute la librairie a mon projet.Citation:
Envoyé par c_nvy
les 2 .jar apparaissenet dans le repertoir librairies.
Sous le répertoire web-inf (du repertoire Web Page) je n'ai rien qui s'appele lib (et encore moins un dossier).
je dois me gouré quelquepart...:aie:
En fait, si les tags fmt fonctionnent avec cette config, le reste devrait fonctionner aussi.
Euh, je suis à court d'idées là.:oops:
Quelle version de Struts utilises-tu ? et quel serveur d'application ?
version de struts : 1.2
pour le serveur d'apppli : Tomcat 5.5.17
l'erreur provient peut etre des modification apporte avec fmt?
Parce que les lignes que j'ai avant sont bien executes et juste apres celle avec fmt bloque. c bizzard.
Je te met la jsp en son entier
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395 <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://displaytag.sf.net" prefix="display"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <%@ page import="java.util.Date" %> <%@ page import="java.text.SimpleDateFormat" %> <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%-- description: display the current applicant in the session --%> <% SimpleDateFormat dateFormatter = new SimpleDateFormat("dd"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <logic:notPresent scope="session" name="user"> <logic:forward name="logon"/> </logic:notPresent> <logic:notPresent scope="session" name="applicant"> <logic:forward name="search"/> </logic:notPresent> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title><bean:message key="application.title"/></title> <link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/site.css"/> <script type="text/javascript"> <!-- window.onload=show; function show(id) { var d = document.getElementById(id); for (var i = 1; i<=10; i++) { if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';} } if (d) {d.style.display='block';} } function editForm(){ document.forms['createApplicant'].disabled=false; } function selectField2(jobTitle){ document.forms['createApplicant'].elements[jobTitle].focus(); if (jobTitle == 'jobTitle'){ document.forms['createApplicant'].elements['newJobTitle'].disabled = true; document.forms['createApplicant'].elements['jobTitle'].disabled = false; document.forms['createApplicant'].elements['jobTitle'].focus(); } else{ document.forms['createApplicant'].elements['jobTitle'].disabled = true; document.forms['createApplicant'].elements['newJobTitle'].disabled = false; document.forms['createApplicant'].elements['newJobTitle'].focus(); } } function putValue(from, to){ document.forms['createApplicant'].elements['to'].value = to; document.forms['createApplicant'].elements['from'].value = from; } //--> </script> </head> <body> <div id="titre"> <bean:message key="application.title"/> </div> <div id="soustitre"> <bean:message key="application.user.logged"/><bean:write scope="session" name="user" property="lastname"/> <bean:write scope="session" name="user" property="firstname"/> </div> <div id="topRow"> <div id="menu"> <dl> <dt onmouseover="javascript:show();"><a href="/QATS/main.jsp" title="Go to Home page">Home</a></dt> </dl> <dl> <dt onmouseover="javascript:show('smenu1');">TODO List</dt> <dd id="smenu1"> <ul> <li><a href="/QATS/main.jsp" title="See Todo list of all users">All Todo</a></li> <li><a href="/QATS/applicant/applicant.jsp" title="Create a new applicant file">New Applicant</a></li> <li><a href="/QATS/applicant/searchApplicant.jsp" title="Search an applicant">Search</a></li> <li><a href="#" title="All applicant which are in reserve">In reserve</a></li> </ul> </dd> </dl> <dl> <dt onmouseover="javascript:show('smenu2');">Applicant</dt> <dd id="smenu2"> <ul> <li><a href="/QATS/applicant/displayApplicant.jsp" title="Display personal information about the current applicant">Personal Details</a></li> <li><a href="/QATS/applicant/xpApplicant.jsp" title="Display information on education and experience about the current applicant">Professional Details</a></li> <li><a href="/QATS/applicant/skills.jsp" title="Skills, competences and keyword about the current applicant">Skills & Competences</a></li> <li><a href="/QATS/applicant/history.jsp" title="Display the historic about the current applicant">Historic</a></li> <li><a href="/QATS/applicant/commentApplicant.jsp" title="Display all comments about the current applicant">Comment</a></li> <li><a href="/QATS/applicant/document.jsp" title="List all documents which concern the current applicant">Document</a></li> </ul> </dd> </dl> <dl> <dt onmouseover="javascript:show('smenu3');">Tools</dt> <dd id="smenu3"> <ul> <li><a href="#">Statistics</a></li> <li><a href="/QATS/about.jsp">About</a></li> <li><a href="/QATS/releaseNotes.jsp">Release Notes</a></li> </ul> </dd> </dl> <dl> <dt onmouseover="javascript:show();"><html:link action="/logout" linkName="Log me out">Logout</html:link></dt> </dl> </div> </div> <%-- display a document of the current applicant in session --%> <div id="bodyRightColumn"> </div> <%-- display form of the current applicant in the session --%> <div id="bodyLeftColumn"> <fieldset> <legend>Applicant's information</legend> <logic:present name="mails" scope="session"> <logic:notEmpty name="mails" scope="session"> <div id="beauxTableaux"> <table> <thead> <tr> <th> Send Email </th> </tr> </thead> <tbody> <html:form action="mail" styleId="mail"> <tr> <td> <html:select title="Mails" property="id"> <html:options collection="mails" property="id" labelProperty="title"/> </html:select> </td> </tr> <tr> <td><html:submit>Send</html:submit></td> </tr> </html:form> </tbody> </table> </div> </logic:notEmpty> </logic:present> <html:form action="createApplicant" styleId="createApplicant"> <table> <tr> <td> <bean:message key="applicant.interest"/>: </td> <td> <html:select property="interest" title="interest" value="${applicant.interest}"> <html:option value="0 - No"/> <html:option value="1 - Low"/> <html:option value="2 - Medium"/> <html:option value="3 - High"/> <html:option value="4 - Successful Interview"/> <html:option value="5 - Proposal"/> <html:option value="6 - Hired"/> </html:select> </td> </tr> <tr> <td> <bean:message key="applicant.source"/>: </td> <td> <html:text property="source" title="Source" value="${applicant.source}"/> </td> </tr> <tr> <td> <bean:message key="applicant.language"/>: </td> <td> <html:select property="language" title="Language" value="${applicant.langCom}"> <html:option value="English"/> <html:option value="French"/> <html:option value="Dutch"/> </html:select> </td> </tr> <tr> <td> <bean:message key="applicant.current.income"/>: </td> <td> <html:text property="currentIncome" title="Current income" value="${applicant.currentIncome}"/> </td> </tr> <tr> <td> Unit </td> <td> / <html:select property="net" title="Net / Brute" value="${applicant.net}"> <html:option value="Net"/> <html:option value="Brute"/> </html:select> / <html:select property="temp" title="Unit" value="${applicant.tempUnit}"> <html:option value="Annual"/> <html:option value="Monthly"/> <html:option value="daily"/> </html:select> </td> </tr> <tr> <td> <bean:message key="applicant.desired.income"/>: </td> <td> <html:text property="desiredIncome" title="Desired income" value="${applicant.desiredIncome}"/> </td> </tr> </table> <fieldset> <legend>Personal data</legend> <div id="error"> <logic:messagesPresent message="false" property="name"> <html:errors property="name"/> </logic:messagesPresent> <logic:messagesPresent message="false" property="firstname"> <html:errors property="firstname"/> </logic:messagesPresent> <logic:messagesPresent message="false" property="firstname"> <html:errors property="firstname"/> </logic:messagesPresent> <logic:messagesPresent message="false" property="email"> <html:errors property="email"/> </logic:messagesPresent> </div> <table> <tr> <td><bean:message key="applicant.gender"/> :</td> <td></td> <td> <html:select property="gender" value="${applicant.gender}" title="Gender" tabindex="1" > <html:option value="Mister" /> <html:option value="Miss"/> <html:option value="Madam"/> </html:select> </td> </tr> <tr> <td><bean:message key="applicant.lastname" /> : </td> <td></td> <td><html:text property="lastname" title="lastname" value="${applicant.lastname}" tabindex="2"></html:text></td> </tr> <tr> <td><bean:message key="applicant.firstname"/> : </td> <td></td> <td><html:text property="firstname" title="firstname" value="${applicant.firstname}" tabindex="3"></html:text></td> </tr> <tr> <td><bean:message key="applicant.JobTitle"/> : </td> <td> <html:radio property="selectJobTitle" value="list" onclick="javascript:selectField2('jobTitle')"/> </td> <td> <html:select title="QSpin Job Title" property="jobTitle" tabindex="10" value="${applicant.jobTitle.title}" > <html:options collection="allJobTitle" property="id" labelProperty="title"/> </html:select> </td> </tr> <tr> <td> </td> <td> <html:radio property="selectJobTitle" value="new" onclick="javascript:selectField2('newJobTitle')"/> </td> <td> <html:text value="or new" property="newJobTitle" disabled="true" tabindex="12" title="new job Title"/> </td> </tr> <tr> <td><bean:message key="applicant.birthday"/> <bean:message key="applicant.birthday.format"/>: </td> <td></td> <td> <html:text property="day" title="day" maxlength="2" size="2" tabindex="20"><fmt:formatDate type="date" var="applicant" value="${sessionScope.applicant.birthday}" pattern="dd"/></html:text> <html:text property="month" title="month" maxlength="2" size="2" tabindex="30"><fmt:formatDate type="date" var="applicant" value="${sessionScope.applicant.birthday}" pattern="mm"/></html:text> <html:text property="year" title="year" maxlength="4" size="4" tabindex="40"><fmt:formatDate type="date" var="applicant" value="${sessionScope.applicant.birthday}" pattern="yyyy"/></html:text> </td> <%--td><bean:write name="age"/></td--%> </tr> <tr> <td><bean:message key="applicant.nationality"/> : </td> <td></td> <td><html:text property="address" value="${applicant.nationality}" tabindex="80"></html:text></td> </tr> <tr> <td><bean:message key="applicant.address" /> : </td> <td></td> <td><html:text property="address" value="${applicant.address}" tabindex="80"></html:text></td> </tr> <tr> <td><bean:message key="applicant.pc" /> : </td> <td></td> <td><html:text property="pc" tabindex="90" value="${applicant.PC}" ></html:text></td> </tr> <tr> <td><bean:message key="applicant.city"/> : </td> <td></td> <td><html:text property="city" tabindex="100" value="${applicant.city}"></html:text></td> </tr> <tr> <td><bean:message key="applicant.country"/> : </td> <td></td> <td><html:text property="country" tabindex="110" value="${applicant.country}" ></html:text></td><br> </tr> <tr> <td><bean:message key="applicant.phone"/> : </td> <td></td> <td><html:text property="phone" tabindex="120" value="${applicant.phone}" ></html:text></td><br> </tr> <tr> <td><bean:message key="applicant.gsm"/> : </td> <td></td> <td><html:text property="gsm" tabindex="130" value="${applicant.gsm}"></html:text></td><br> </tr> <tr> <td><bean:message key="applicant.mail"/> : </td> <td></td> <td><html:text property="mail" tabindex="140" value="${applicant.email}"></html:text></td><br> </table> </fieldset> <html:hidden property="id" value="${applicant.id}"/> <html:hidden property="to"/> <html:hidden property="from"/> <html:submit onclick="javascript:putValue('', '')" property="record" value="Record"/> <logic:present scope="session" name="listButton"> <div id="beauxTableaux"> <table> <thead> <tr> <th> Current State: </th> <th> Next State: </th> <th>Action</td> </tr> </thead> <tbody> <a href="/QATS/applicant/workflow.html" onclick="window.open(this.href, 'workflow', 'width=1000, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no'); return false;">Show the Applicant Workflow</a> <logic:iterate id="listButton" name="listButton" scope="session"> <tr> <td> <bean:write name="listButton" property="from"/> </td> <td> <bean:write name="listButton" property="to"/> </td> <td> <logic:notEmpty name="listButton" property="button"> <html:submit onclick="javascript:putValue('${listButton.from}', '${listButton.to}')" property="${listButton.button.id}"><bean:message key="${listButton.button.key}" name="listButton" property="to"/></html:submit> </logic:notEmpty> <%--logic:empty name="listButton" property="button"> <html:cancel tabindex="200"><bean:message key="button.cancel" /></html:cancel> </logic:empty--%> </td> </tr> </logic:iterate> </tbody> </table> </div> </logic:present> </html:form> </fieldset> </div> <div id="footer"> <bean:message key="application.footer" /><br><bean:message key="application.version" /> </div> </body> </html>
pourrai tu remettre ton erreur complete (y en a eu 10 d ecrites depuis le debut :) je suis perdu)
la derniere erreur en date est celle ci:
et qui correspond a la page JSP posté dans mon precedent postCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 11:12:21,629 ERROR [action]:253 - "Servlet.service()" pour la servlet action a généré une exception javax.servlet.jsp.el.ELException: Unable to find a value for "nationality" in object of class "java.lang.String" using operator "." at org.apache.commons.el.Logger.logError(Logger.java:481) at org.apache.commons.el.Logger.logError(Logger.java:498) at org.apache.commons.el.Logger.logError(Logger.java:611) at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:340) at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:932) at org.apache.jsp.applicant.displayApplicant_jsp._jspx_meth_html_text_9(displayApplicant_jsp.java:2595) at org.apache.jsp.applicant.displayApplicant_jsp._jspService(displayApplicant_jsp.java:516) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085) at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263) at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398) at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595)
tu as bien un bundle défini avec dedans une clé nommé applicant.nationality ?Code:<bean:message key="applicant.nationality"/>
tu n a pas confondu avec bean:write (qui lui permet d afficher des propriétés de bean) ?
Normalement, le value devrait fonctionner et je ne vois toujours pas pourquoi ce n'est pas le cas.:oops:
Par contre, moi je n'utilise jamais les attributs value dans la jsp pour la simple et bonne raison que j'initialise toujours les propriétés de mon formulaire dans l'Action qui s'exécute avant l'affichage de la jsp.
je l'ai je pense
Ton erreur est due a un abus de copier collé :) tu définis 2 champs bindés sur une meme propriété "adress"Code:
1
2
3
4
5
6
7 <td><html:text property="address" value="${applicant.nationality}" tabindex="80"></html:text></td> </tr> <tr> <td><bean:message key="applicant.address" /> : </td> <td></td> <td><html:text property="address" value="${applicant.address}" tabindex="80"></html:text></td>
c'etait bien vue....
....mais :cry: j'ai toujours une erreur
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 11:29:29,426 ERROR [action]:253 - "Servlet.service()" pour la servlet action a généré une exception javax.servlet.jsp.el.ELException: Unable to find a value for "nationality" in object of class "java.lang.String" using operator "." at org.apache.commons.el.Logger.logError(Logger.java:481) at org.apache.commons.el.Logger.logError(Logger.java:498) at org.apache.commons.el.Logger.logError(Logger.java:611) at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:340) at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:932) at org.apache.jsp.applicant.displayApplicant_jsp._jspx_meth_html_text_9(displayApplicant_jsp.java:2595) at org.apache.jsp.applicant.displayApplicant_jsp._jspService(displayApplicant_jsp.java:516) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085) at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263) at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398) at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595)
comment fait tu pour initialiser les valeur dans l'action:Citation:
Envoyé par c_nvy
j'ai essaye ca
mais j'ai l'erreur suivanteCode:((CreateApplicantForm) form).setNationality(created.setNationality());
Code:
1
2 /home/florian/NetBeans WorkingSpace/QATS/src/java/be/qspin/qats/struts/action/CreateApplicantAction.java:225: setNationality(java.lang.String) in be.qspin.qats.entities.Applicant cannot be applied to () ((CreateApplicantForm) form).setNationality(created.setNationality());
C'est plutôt :
Code:((CreateApplicantForm) form).setNationality(created.getNationality());
Je pense que tu as deja essayer mais as tu encore une erreur si tu delete les champs relatifs à nationality ?
suis vraiment un ane :bug:Citation:
Envoyé par c_nvy
Mais non, c'est dur le Vendredi.:DCitation:
Envoyé par CPI_en_mousse
En plus je commence a avoir faimCitation:
Envoyé par c_nvy
enfin pour finir sur une bonne nouvelle
:applo::bravo:
J'ai suivi la méthode de c_nvy et j'initialise mon form a partir de mon action et la, plus de probleme
Donc Grand Merci à c_nvy et pour la peine je te fais une grosse bise (si tu me l'accorde bien sur).
Je remercie aussi Vahid qui m'a aussi trouve la faute du copier coller sinon je serai encore en train de creuser (bientot j'aurai resorti de l'autre cote).
Tu m'excuse je te fais pas la bise ;)
Bon week end a tous