/ 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
Problem med setAttribute på JSP side
Fra : Flare


Dato : 25-10-04 17:17

Hejsa

Jeg har et problem med at jeg ikke kan indsætte attributter i requestet på
included sider.

Fx jeg har en index.jsp side som har følgende indclude:

<jsp:include page="ResultLine.jsp" flush="true" />

ResultLine.jsp siden sætter følgende parameter i requestet.

<%
pageContext.setAttribute("ComponentControllerHeatResult","output",PageContext.REQUEST_SCOPE);
%>

Men hvis jeg poster til en Servlet kan jeg ikke "finde" variablen. Hvis jeg
derimod bruger

<%
pageContext.setAttribute("ComponentControllerHeatResult","output",PageContext.SESSION_SCOPE);
%>

Og så henter parameteren i Session fra Servlet´en er der ingen problemer.
Så. hvorfor kan jeg mon ikke indsætte noget i requestet fra en includeret
jsp side? Blive requestet "discarded" efter hvert jsp:include eller noget i
den retning?

Mvh
Anders



 
 
Jonathan Stein (25-10-2004)
Kommentar
Fra : Jonathan Stein


Dato : 25-10-04 23:52

Flare wrote:

> Og så henter parameteren i Session fra Servlet´en er der ingen problemer.

Hvilken servlet? - Og hvordan kommer du fra JSP-siden til servlet'en?

M.v.h.

Jonathan

--
Er din e-mail vigtig? Er du træt af virus og spam i mailen?
Virus-scanning og spam-filtrering på alle mail-konti. På redundant
mail-setup med daglig backup.
http://www.jsp-hotel.dk/

Flare (26-10-2004)
Kommentar
Fra : Flare


Dato : 26-10-04 00:44

>> Og så henter parameteren i Session fra Servlet´en er der ingen problemer.
>
> Hvilken servlet? - Og hvordan kommer du fra JSP-siden til servlet'en?

Jeg har en index.jsp med følgende:
------------------------------------
<form action="/servlet/ResultsController" method="POST">
<jsp:include page="ResultLine.jsp" flush="true" />
<input type="submit" value="Post to server">
</form>

ResultLine.jsp har fx kun følgende:
-----------------------------------
<%@ page language="java" import="java.util.*" %>
<% pageContext.setAttribute("ReqVar","test",PageContext.REQUEST_SCOPE); %>
<% pageContext.setAttribute("SesVar","test",PageContext.SESSION_SCOPE); %>

I servletten som der postet til:
--------------------------------
String h = (String)request.getAttribute("ReqVar"); // Nix er tom
String h1 = (String)request.getParameter("ReqVar"); // Nix er tom
String h2 = (String)request.getSession().getAttribute("SesVar"); // Den er
god nok

Alle filerne er meget simple så der skulle ikke være andet der går galt.

Nogen bud på hvorfor jeg ikke kan se den request variabel? (ja jeg har
tjekket for stave fejl osv :) )

Mvh
Anders



Jonathan Stein (26-10-2004)
Kommentar
Fra : Jonathan Stein


Dato : 26-10-04 01:10

Flare wrote:

> Jeg har en index.jsp med følgende:
> ------------------------------------
> <form action="/servlet/ResultsController" method="POST">
> <jsp:include page="ResultLine.jsp" flush="true" />
> <input type="submit" value="Post to server">
> </form>

Jamen så er det simpelt nok. Klienten henter index.jsp med den
inkluderede ResultLine.jsp i ét request.
Når brugeren på et tidspunkt får lyst til at submitte form'en, laver
klienten et nyt request til /servlet/ResultsController.

Der er tale om to requests, så det er netop sessions, du skal bruge her.

Du kan også lade ResultLine.jsp skrive variablen som en <input
type="hidden" name="formvar" value="test"> i form'en og så læse den som
en alm. POST-variabel i servlet'en, men det giver mulighed for, at
brugeren kan manipulere variablen undervejs.

M.v.h.

Jonathan

--
Er din e-mail vigtig? Er du træt af virus og spam i mailen?
Virus-scanning og spam-filtrering på alle mail-konti. På redundant
mail-setup med daglig backup.
http://www.jsp-hotel.dk/

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

Månedens bedste
Årets bedste
Sidste års bedste