Avatar billede zulukrigeren Nybegynder
12. marts 2002 - 02:33 Der er 9 kommentarer og
1 løsning

Kan ikke sætte variabler på bønne ved brug af "multipart/form-dat

Er der nogen som ved hvorfor jeg ikke kan setProperty på min bønne når mine tekstfelter ligger i en form af typen:
<form method="post" encType="multipart/form-data" name="test" action="#

????
og hvordan kan det evnt. løses?
På forhånd tak!!
Avatar billede bearhugx Nybegynder
12. marts 2002 - 04:24 #1
Problemet med multipart/formdata er, at parameterne bliver gemt anderledes end de villle med f.eks. text/plain eller application/x-www-form-urlencoded....

Hvorfor der ikke er blevet programmeret understøttelse for multipart/form-data som standard i JSP ved jeg ikke - men det burde SUN snart få kigget på  - (dog, så vidt jeg husker understøtter ASP heller ikke multipart/form-data, men gør brug af eksterne komponenter for at decifrere requesten)....

Hvad du kan gøre er (hvis du absolut har brug for at encode med multipart/form-data) at hente JSPUpload fra http://www.jspsmart.com - Det er en package, som gør dig i stand til at hente parametrene ud igen... Og det bedste af det hele er at den er gratis - men man får ikke source med til, hvordan de gør det...
Dog hander det om at betragte hele requesten som en stor InputStream, og så decifrere den, stykke for stykke...

/Søren
Avatar billede bearhugx Nybegynder
12. marts 2002 - 04:25 #2
Ups - for hurtig på "udfør"-knappen -- Det ovenstående var et svar...
/Søren
Avatar billede disky Nybegynder
12. marts 2002 - 07:28 #3
bearhugx:
Ja det kan bruges, men http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html er noget nemmere og bedre at bruge. Se http://www.eksperten.dk/spm/181949
At den ikke er med som default er der også en god grund til, Sun er ikke Microsoft som forsøger at tilrage sig al magt, men kun implementere standard ting, og giver andre muligheder for også at lave noget kode.


Zulukrigen:
Den dekodning jeg gav dig i dit andet spørgsmål kan du sagtens flytte ned i en bønne, det har jeg faktisk selv gjort i det project hvor, COS klassen blev anvendt.
De enkelte felter der bliver sendt med kan du også sagtens hente ud med COS klassen, se dokumentationen, som jeg postede en link til i http://www.eksperten.dk/spm/181949.

Men setProperty kan ikke håndtere den, da setProperty er beregnet til at sætte form felter, og multipart/form-data er ikke et form felt, men en form for streaming af binær data.
Avatar billede zulukrigeren Nybegynder
12. marts 2002 - 08:57 #4
Disky:
Jeg har forsøgt mig med en metode i ovennævnte bibliotik, nemlig
<%=MultipartRequest.getParameter("tekstfelt")%> og den udskriver nemlig den indtastet værdi :o), nu mangler jeg bare at sette værdien på bønnen, så nu er mit problem løst tak for hjælpen endnu engang!!!
Avatar billede bearhugx Nybegynder
12. marts 2002 - 09:04 #5
Disky >>
Min holdning er at Sun ikke ville udvise handlig mod tilranelse af magt, i det tilfælde at de gjorde deres API brugbar i tilfælde hvor encoding'en er multipart/form-data -- Den har jo også været standardiseret i lang tid (RFC 2388, så vidt jeg husker)...

<anekdote>
I et af mine tidligere projekter havde jeg en form, hvori der både kunne uploades billeder og indtastes data -- upload-funktionen blev kun brugt sjældent - men pga. upload-situationen (og det, at jeg ikke ønskede at gå hen på et andet view (side) for at uploade blev det, at jeg satte formens encoding til at være multipart/form-data...
Men da koden i min servlet ikke længere virkede blev jeg lidt overrasket .... Jeg uploaded ikke filer, jeg skulle kun sende nogle tekstfelter afsted ... men alle returværdier fra req.getParameter(...) var null.... og der var forklaret ingen steder i API'en at pga. jeg brugte multipart/form-data kunne jeg ikke bruge den metode - omend dens brugsfunktion vill være den samme....
Der gik et par dage inden jeg så fandt en komponent, som kunne gøre jobbet for mig - og det eneste jeg stod tilbage med var en irritation over at det ikke bare kunne have være implementeret :-/
</anekdote>

nuvel-
Zulukriger >> Hvis du aligevel bruger denne COS-klasse (spm:181949) så gør som Disky siger... Så er der ingen grund til at skifte...

/Søren
Avatar billede bearhugx Nybegynder
12. marts 2002 - 09:05 #6
Damn - nogen er hurtige :-))
Avatar billede bearhugx Nybegynder
12. marts 2002 - 09:06 #7
Glad, du fandt ud af det ....
Nuvel - Jeg skal til møde på AF  :-=)

/Søren
Avatar billede disky Nybegynder
12. marts 2002 - 09:21 #8
bearhugx:
Det er rigtigt at man kan undre sig over de ikke selv har implementeret det.
Men der findes jo så mange RFC'er at de ikke kan håndtere dem alle, heldigvis forhindrer de heller ikke en i selv at lave det :)

Held og lykke på AF
Avatar billede bearhugx Nybegynder
12. marts 2002 - 17:11 #9
Back ... Det var et intromøde omkring at sende nogle at os på Axapta kursus (8 mdr.) med efterfølgende ansættelse i en af 5 store danske virsomheder --
Eneste problem :
ca. 50-60 deltagere på intromøde
kun 14 pladser på kursus...

Udvælgningsrunde/samtale er på torsdag kl. 15:30 for mit vedkommende.... Håbe håbe håbe.....

/Søren
Avatar billede bearhugx Nybegynder
12. marts 2002 - 17:15 #10
Disky :
Kan jeg ikke lige få dig til at kigge på http://www.eksperten.dk/spm/182817

En som dig må vide....

/Søren
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



IT-JOB

Queue-it ApS

Team Lead Engineering

Udlændinge- og Integrationsministeriet

Contract Managers til kontrakt- og leverandørstyring

De Nationale Geologiske Undersøgelser for Danmark og Grønland (GEUS)

IT-systemadministrator søges til GEUS

Udviklings- og Forenklingsstyrelsen

Erfaren udvikler/DevOps til Integrationsplatforme