/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
mix getParameter() og getParameterNames()
Fra : Allan Unnerup


Dato : 26-06-03 20:03

Er det korrekt, at jeg ikke først kan benytte et antal getParameter() og
derefter en getParameterNames()?

Så vidt jeg kan se, forstyrrer getParameter() det efterfølgende
getParameterNames().

Jeg får i alle tilfælde ikke alle parametrene med i det efterfølgende
getParameterNames(), hvis jeg først henter udvalgte parametre med
getParameter().

Med venlig hilsen
Allan




 
 
Martin Kofoed (27-06-2003)
Kommentar
Fra : Martin Kofoed


Dato : 27-06-03 07:06

Allan Unnerup wrote:

> Er det korrekt, at jeg ikke først kan benytte et antal getParameter() og
> derefter en getParameterNames()?

Hvad er det for et object, du kalder de nævnte metoder på? Det hjælper lidt
at kende implementeringen .. :)


--

Martin

Allan Unnerup (27-06-2003)
Kommentar
Fra : Allan Unnerup


Dato : 27-06-03 17:12


"Martin Kofoed" <inzide@hot.mail.c.o.m> skrev i en meddelelse
news:3efbdeb6$0$5155$edfadb0f@dread11.news.tele.dk...
> Allan Unnerup wrote:
>
> > Er det korrekt, at jeg ikke først kan benytte et antal getParameter() og
> > derefter en getParameterNames()?
>
> Hvad er det for et object, du kalder de nævnte metoder på? Det hjælper
lidt
> at kende implementeringen .. :)
>
Undskyld, det er HttpServletRequest

Eksempel fra en servlet:
<kode>
String crud = request.getParameter("crud");
Enumeration params = request.getParameterNames();
while (params.hasMoreElements()) {
// Her hentes ikke nødvendigvis alle parametre.
// Hvis jeg fjerner første linie går det fint
// Jo flere linier at typen "String crud = request.getParameter("crud");"
jeg har, desto værrer går det.
}
</kode>



Allan Unnerup (28-06-2003)
Kommentar
Fra : Allan Unnerup


Dato : 28-06-03 11:28


> > Hvad er det for et object, du kalder de nævnte metoder på? Det hjælper
> lidt
> > at kende implementeringen .. :)
> >
******Rettelse:******
Undskyld, det er kombinationen af HttpServletRequest og HttpServletResponse,
der er problemet!

Eksempel fra en servlet:
<kode>
Enumeration params = request.getParameterNames();
while (params.hasMoreElements()) {
response.sendRedirect("/transsearch.jsp");
// Her hentes ikke nødvendigvis alle parametre.
// Hvis jeg fjerner linien "response.sendRedirect("/transsearch.jsp");" så
går det fint
}
</kode>





Morten (29-06-2003)
Kommentar
Fra : Morten


Dato : 29-06-03 12:25

Allan Unnerup wrote:

>>>Hvad er det for et object, du kalder de nævnte metoder på? Det hjælper
>>
>>lidt
>>
>>>at kende implementeringen .. :)
>>>
>
> ******Rettelse:******
> Undskyld, det er kombinationen af HttpServletRequest og HttpServletResponse,
> der er problemet!
>
> Eksempel fra en servlet:
> <kode>
> Enumeration params = request.getParameterNames();
> while (params.hasMoreElements()) {
> response.sendRedirect("/transsearch.jsp");
> // Her hentes ikke nødvendigvis alle parametre.
> // Hvis jeg fjerner linien "response.sendRedirect("/transsearch.jsp");" så
> går det fint
> }
> </kode>


Det er fordi at response.sendRedirect sender en "redirect" til browseren
og ber den om at loade siden transsearch.jsp. Jeg ved ikke hvad spec'en
siger om at sende et redirect midt i behandlingen af et request, men det
er skidt praksis at sende en redirect før du er helt færdig. Fra
HttpServletResponse javadoc:

"If the response has already been committed, this method throws an
IllegalStateException. After using this method, the response should be
considered to be committed and should not be written to."

Hvad er det du gerne vil?

Morten



Allan Unnerup (01-07-2003)
Kommentar
Fra : Allan Unnerup


Dato : 01-07-03 21:03

> > ******Rettelse:******
> > Undskyld, det er kombinationen af HttpServletRequest og
HttpServletResponse,
> > der er problemet!
> >
> > Eksempel fra en servlet:
> > <kode>
> > Enumeration params = request.getParameterNames();
> > while (params.hasMoreElements()) {
> > response.sendRedirect("/transsearch.jsp");
> > // Her hentes ikke nødvendigvis alle parametre.
> > // Hvis jeg fjerner linien "response.sendRedirect("/transsearch.jsp");"

> > går det fint
> > }
> > </kode>
>
>
> Det er fordi at response.sendRedirect sender en "redirect" til browseren
> og ber den om at loade siden transsearch.jsp. Jeg ved ikke hvad spec'en
> siger om at sende et redirect midt i behandlingen af et request, men det
> er skidt praksis at sende en redirect før du er helt færdig. Fra
> HttpServletResponse javadoc:
>
> "If the response has already been committed, this method throws an
> IllegalStateException. After using this method, the response should be
> considered to be committed and should not be written to."
>
> Hvad er det du gerne vil?

Ovenstående kode ligger i en servlet, og selvom jeg har linien
"response.sendRedirect("/transsearch.jsp");", har jeg ikke en "return;" inde
i løkken.

Foranlediger sætningen "response.sendRedirect("/transsearch.jsp");" kald til
browseren uden at der returneres fra servletten?

Jeg forventede kun, at jeg lagde en oplysning ned i response-objektet, ikke
at de blev udført, før jeg returnerede fra min servlet.

Med venlig hilsen
Allan



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste