Avatar billede daniel15 Nybegynder
28. marts 2006 - 13:52 Der er 9 kommentarer og
1 løsning

JavaBeans opdatering

Hej
Jeg har et lille problem med JSP og beans.
Jeg har en jsp side og en tilsvarende bean som jeg kan brug på jsp siden ved hjælp af  use been og setProperty.

Det fungerer helt fint.

MEN lad os sige at jeg har to attributter: navn og email på både min page.jsp og min java bean:

<jsp:useBean id="minBean" class="pakage.JavaClassNavn" scope="session" />
<jsp:setProperty name=" minBean " property="*" />

Begge atributter på min bin bliver opdateret som det skal, problemet er at hvis jeg angiver værdien I min navn input felt på page.jsp først til Daniel og derefter ændre jeg værdien til en tome værdi så forbliver værdien Daniel. Kun hvis jeg ændre værdien til en ikke tome værdi bliver min java bean opdatere med den ny værdi.

Har der nogen som har set/ har en løsning til det problem?
Avatar billede arne_v Ekspert
28. marts 2006 - 14:15 #1
cleare alle felter i beanen inden du sætter properties måske
Avatar billede daniel15 Nybegynder
28. marts 2006 - 15:10 #2
Jeg kan godt lave en work around løsning.
Men jeg vil helst have det at min java bean class kan selv finde ud af at attributten er nu opdateres til en tomme værdi.
Det ser ud til at java beanen kan ikke selv finde ud af det og værdien bliver ændre i atributten kun hvis der komme en værst som er støre end 0 tegn
Avatar billede daniel15 Nybegynder
28. marts 2006 - 15:11 #3
en værdi, mener jeg...
Avatar billede daniel15 Nybegynder
28. marts 2006 - 15:51 #4
Det er måske en ide, men hvordan gør jeg det?
(Desuden hvorda kan det være at javabean ikke kan opdater til en tome værdi?)
Avatar billede arne_v Ekspert
29. marts 2006 - 04:08 #5
Det er ihvertfald dokumenteret

JSP specificationen siger:

If the param is not set in the Request object, or if it has the
value of "", the jsp:setProperty action has no effect (a noop).

Det står også nederst http://java.sun.com/products/jsp/tags/11/syntaxref11.fm13.html

Hvorfor ?

Mit gæt er at det er en feature man kan opdatere noget ved kun at skrive i dem
man vil have ændret og resten bevares.
Avatar billede daniel15 Nybegynder
29. marts 2006 - 09:22 #6
Mange tak for besvarelsen.

Jeg har håbet på at designet(fra Sun siden) var lidt bedre og at man bare skulle brug en property under <jsp:setProperty /> som jeg har ikke kendt til eller sådan noget.

Jeg tror faktisk at det er en dårlig design(kun i det punkt, ellers synes jeg godt om Java beans)
Som kan føre til fejl hos udviklere som er ikke klar over det.

Man tak fordi du tog tid til at se på det.
Avatar billede daniel15 Nybegynder
29. marts 2006 - 09:24 #7
Hvordan giver jeg point?
Avatar billede arne_v Ekspert
29. marts 2006 - 13:26 #8
jeg ligger et svar som du kan acceptere
Avatar billede arne_v Ekspert
29. marts 2006 - 13:26 #9
jeg ved ikke om det er et dårligt design

men det burde nok stå med 72 punkt rød bold blinking skrift i alle guides
Avatar billede daniel15 Nybegynder
29. marts 2006 - 13:42 #10
Tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester