|
| 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");"
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?
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
| |
|
|