04. december 2004 - 17:54
Der er
15 kommentarer og 1 løsning
useBean vil ikke virke!
Jeg bliver ved med at få følgende fejlmeddelelse: The value for the useBean class attribute RecipeBean.class is invalid. Den opstår når jeg forsøger at instantiere klassen med <jsp:useBean id="mybean" class="RecipeBean.class"/> Jeg er temmelig sikker på, at bønnen overholder de specifikationer der er for beans. Ydermere, hvis jeg instantierer med <%RecipeBean mybean = new RecipeBean();%> så er der ikke noget problem. Hvad kan det skyldes???
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
04. december 2004 - 17:57
#1
<jsp:useBean id="mybean" class="RecipeBean"/>
04. december 2004 - 17:57
#2
Du skal ikke angive .class
04. december 2004 - 22:02
#3
Nej, det mente jeg faktisk heller ikke. Har prøvet begge dele. Samme fejl.
04. december 2004 - 22:05
#4
Hvis <% RecipeBean mybean = new RecipeBean(); %> virker så børe <jsp:useBean id="mybean" class="RecipeBean"/> også virke. (RecipeBean ligger vel i en package ikke ?)
05. december 2004 - 22:35
#5
Ja, det brude det vel. Men det gør det ikke. Nej, RecipeBean ligger ikke i en package. Er det et krav?
05. december 2004 - 22:39
#6
Beans der skal bruges fra en JSP side bør altid ligge i en package. Så prøv lige at flyt den ned i en package.
05. december 2004 - 22:40
#7
package beans; ... og WEB-INF/classes/beans/RecipeBean.class og <jsp:useBean id="mybean" class="beans.RecipeBean"/>
05. december 2004 - 22:55
#8
Jo, den ligger faktisk i en pakke i forvejen, så. Jeg tænkte på en jar-fil, hvilket den ikke ligger i. Det virker stadig ikke... Hvis man flytter meget rundt på klasser og den slags, registrerer Tomcat så ændringen med det samme, eller bør man lukke browser og/eller tomcat service ned, før man prøver igen?
05. december 2004 - 22:58
#9
Hvis man ændrer i class eller jar filer så skal du enten genstarte applikationen eller hele serveren. Det er kun JSP sider hvor ændringer automatisk detectes. [Tomcat i standard opsætning !]
05. december 2004 - 23:05
#10
Hvis den ligger i en pakke har du så enten en page import eller pakke på i useBean ?
05. december 2004 - 23:05
#11
Nå, men jeg bliver ved med at få samme fejl. Det er meget mystisk. Men er der iøvrigt nogen særlig fordel i at bruge beans, bortset fra scope-fordelen?
05. december 2004 - 23:09
#12
Ja, altså: denne kode virker ikke: ------------------------------------------------ <%@page import = "ostools.*" %> <html> <head> <title>mytest</title> </head> <body> <form name="form1" method="post" action="test.jsp"> <input name="txtsearch" type="text" size="40"> <input type="submit" name="Submit" value="OK"> </form> <jsp:useBean id="rb" class="RecipeBean"/> </body> </html> ------------------------------------------------ Hvorimod denne virker: ------------------------------------------------ <%@page import = "ostools.*" %> <html> <head> <title>mytest</title> </head> <body> <form name="form1" method="post" action="test.jsp"> <input name="txtsearch" type="text" size="40"> <input type="submit" name="Submit" value="OK"> </form> <% RecipeBean rb = new RecipeBean(); %> </body> </html> ------------------------------------------------ Det er mig en total gåde hvordan det kan gå til. Kan man gemme objekter i session-variabler, og dermed opnå et scope der svarer til scope: session?
05. december 2004 - 23:20
#13
1) Det er nemt at sætte scope på med useBean's scope attribut 2) Blandt purister anses det for pænere at bruge tags end embedded kode
05. december 2004 - 23:22
#14
Hvilken fejl får du nu ? Skud i tågen: har du prøvet at flytte useBean tagget op i toppen ?
05. december 2004 - 23:23
#15
Ja du kan sagtens manuelt gemme i sessionen i embedded kode. <% session.setAttribute("rb", rb); %>
01. januar 2005 - 13:50
#16
OK ?
Kurser inden for grundlæggende programmering