Avatar billede fuxi Nybegynder
25. oktober 2001 - 10:51 Der er 13 kommentarer og
2 løsninger

Dynamisk Inlcude

Er der en eller anden der ved om det kan lade sig gøre at lave dynamisk include i JSP....

dvs. at jeg vil inkludere noget i retningen af følgende:

<%
String minURL = \"/sti/fil.jsp\";
%>
<jsp:include page=\"<%= minURL %>\" />

Eksemplet virker ikke, men er der andre muligheder???

Hurtigt svar belønnes :o)

/Fuxi
Avatar billede kresten Nybegynder
25. oktober 2001 - 10:53 #1
Det lyder da underligt det ikke virker?

Har du prøvet at generere hele strengen, f.eks.

String minInclude = \"<jsp:include page=\"BrugDenneFil.jsp\" />\"
Avatar billede nute Nybegynder
25. oktober 2001 - 10:53 #2
du mangler en flush på din include. fungerer dette:

<jsp:include page=\"<%= minURL %>\" flush=\"true\" />

??

Avatar billede disky Nybegynder
25. oktober 2001 - 10:54 #3
godt spørgsmål.

prøv med noget ala:

if(x==1)
{
%>
<jsp:include page=\"side1.jsp\">
<%
}
else
{
%>
<jsp:include page=\"side2.jsp\">
<%
}


Om det virker ved jeg ikke. Og jeg kan ikke lige selv teste det i øjeblikket.

Det er selvfølgelig ikke ligeså simpelt som dit eget foreslag, men hvis det virker er det jo fint.
Avatar billede kresten Nybegynder
25. oktober 2001 - 10:56 #4
Avatar billede disky Nybegynder
25. oktober 2001 - 10:57 #5
kresten: det viser jo ikke et eksempel på at pathen og navnet på den fil der skal inkluderes ligger i en String.
Avatar billede fuxi Nybegynder
25. oktober 2001 - 11:00 #6
Har lige prøvet det virker ikke....

Nedenstående kode er præcis hvad jeg prøver:
<tr><% String minURL = strRelative + \"/portlets/article_newest.jsp\";%>
<td width=\"140\" valign=\"top\"><jsp:include page=\"<%= minURL %>\" flush=\"true\"/></td></tr>

Men det virker ikke, det skal lige siges at strRelative er en global der indeholder en relativ url. Dvs. f.eks. \"/skodside\"

/Fuxi
Avatar billede disky Nybegynder
25. oktober 2001 - 11:02 #7
fuxi: har du prøve mit eksempel ?

Det kan blive en meget lang if-else men hvis det virker er det jo godt.
Avatar billede fuxi Nybegynder
25. oktober 2001 - 11:02 #8
>> Kresten <<
Det er vist ikke lige det jeg spurgte om.. Sorry!

>> disky <<
Det skal nok virke, men er bare ikke en løsning i dette tilfælde. Der er temmelig mange muligheder for inklude i mit tilfælde + at det er en side med flere hundrede jsp sider....

Håber at der er nogen der kan hjælpe
Avatar billede disky Nybegynder
25. oktober 2001 - 11:05 #9
Jeg synes ikke at have stødt på muligheden for at stoppe variabler ind i ting som <jsp:...> :(

Måske skulle du løse dit problem på en helt anden måde.

Hvad med at du har en hoved JSP side.

denne side generere så en side dynamisk med lige den <jsp:include> du har brug for, og gemmer den fysik på serveren som en stand alone fil. Så redirecter din hoved JSP side til denne nye fil. Så opnår du det samme.
Avatar billede fuxi Nybegynder
25. oktober 2001 - 11:10 #10
Lyder fornuftigt, men det er igen et problem pga. mængden af inklude filer...
Det er lidt et problem, da jeg på forhånd ikke kender hvad det er jeg skal inklude... Det skyldes at det er en slags integrationssystem hvor der konstant kan komme nyekunder der har deres egne direktorier....
Avatar billede nute Nybegynder
25. oktober 2001 - 11:11 #11
hmmm...ifølge referansen, så skal det være mulig:

http://java.sun.com/products/jsp/tags/11/syntaxref1112.html

Avatar billede disky Nybegynder
25. oktober 2001 - 11:12 #12
jamen den side du redirecter til er jo dynamisk genereret. Altså du opnår det samme som du selv har forsøgt uden held.

Men istedet for <jsp:include page=<%=enLink%>>

Så bliver der genereret en side hvor der står <jsp:include page=\"EnNySide.jsp\">

Så hvis du kunne lave det på dit forsøg, er det andet her ikke mere besværligt.
Avatar billede fuxi Nybegynder
25. oktober 2001 - 11:14 #13
Nu er der jo flere inlcude muligheder i JSP, f.eks <%@ include file=\"minfil\" %> men det virker heller ikke. Jeg har faktisk heller ikke selv kunne finde frem til en løsning. Er der nogen der har tjek på requestDispatcheren ???

Jeg kunne forestille mig at man kunne bruge den, men jeg kender ikke nok til den...
Avatar billede fuxi Nybegynder
25. oktober 2001 - 11:55 #14
Jeg har givet jer begge point, da i begge har lagt en indsats.... Løsningen har jeg nu selv fundet, eller løsning er nok så meget sagt. Men jeg fandt frem til at der er forskel på hvordan de forskellige servere tolker include filer. Mit problem lå i at jeg havde en include fil der includede en anden fil. Kombinationen af disse to var problemet :o)

Så løsningen er sandsynligvis <jsp:include page=\"<%= minFil %>\" flush=\"true\"/>
Det virkede under alle omstændigheder for mig, efter at jeg kun inkludere i et niveau....

/Fuxi
Avatar billede disky Nybegynder
25. oktober 2001 - 12:04 #15
jeg takker :)
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