Avatar billede allanrbo Nybegynder
18. november 2006 - 16:44 Der er 9 kommentarer

JSP master-design-fil

I alle JSP-bøger jeg har kigget i indtil videre, findes der det sædvanlige "<!DOCTYPE html .... <html><head>..." i hvert eneste JSP-fil. Hvorfor gør de det?

Jeg mener at man i ASP bruger en .master-fil til at holde dette, og sine basale designelementer som menuer osv., så de ikke går igen i hver eneste fil, og er nemme at opdatere på hele sitet.

I PHP ville jeg inkludere en top- og bottom.php fil i hvert af mine dokumenter, som indeholdt de basale html tags og mine fælles designelementer.

Hvad plejer man at gøre i JSP? Jeg vil helst undgå at rode med komplicerede frameworks som Struts eller Tapestry, da jeg er ny i JSP. (Mit site er et databasefrontend til at vedligeholde data i ca. 15 relationer)
Avatar billede arne_v Ekspert
18. november 2006 - 16:48 #1
(det er ASP.NET som bruger masterpages)

du er lidt handikappet af at du ikke vil kigge på de store frameworks (men jeg kan
nu tildels godt forstå dig - der så uhyggeligt meget at sæytte sig ind i)

JSP har også include - faktisk hele 2 (både en dynamic og en static)

derudover er der taglibs, hvor du evt. kunne lave dig nogle tags til
at generere alt standard
Avatar billede allanrbo Nybegynder
18. november 2006 - 16:54 #2
Hej Arne,
Tak for dit svar.

I gamle dage, før de store frameworks fandtes og man brugte ren JSP, ville man så virkeligt gentage sin bunke af html-initialisering i hver eneste JSP-fil?
Avatar billede arne_v Ekspert
18. november 2006 - 21:21 #3
det tror jeg tit at man har gjordt

det er jo ikke tit at man ændrer dem - og ændrer man f.eks. DOCTYPE vil man jo nok
typisk også skulle ændre på indholdet alligevel

hvis det generer dig så brug include
Avatar billede allanrbo Nybegynder
19. november 2006 - 00:18 #4
Hej Arne. Tak for hjælpen! :-)
Avatar billede cayman Nybegynder
27. december 2006 - 09:56 #5
Hej - jeg blander mig lige..
Der findes et .. uha .. framework der hedder Stripes. Det kan en masse. Men jeg bruger kun deres taglibs. Og med dem kan du faktisk lave noget der ligner en master-fil. Ala dot-netto.

Måske var det interessant for dig at kigge på?
Avatar billede allanrbo Nybegynder
27. december 2006 - 14:44 #6
Hej Cayman,
Ok, det kunne være jeg skulle tage et lille kig på det. Jeg har faktisk i de seneste uger (noget tid efter dette indlæg) alligevel rodet mig ud i at lege med frameworks. Det der hedder Apache Tapestry kan også lave tricket. Man laver en <span jwcid="@Border"> ... </span> som frameworket så skifter ud med en border-komponent indeholdende sin <html><head>.... man definerer andetsteds.
Det, der dog irriterer mig med dette framework er, at der skal skrives tusind konfigurationsfiler og .page filer for opgaver der burde være simple... Jeg kunne forestille mig det var det samme med Stripes, men jeg vil da lige se på det!
Tak. Mvh.
Avatar billede cayman Nybegynder
27. december 2006 - 16:04 #7
Det er meget cool - du laver bare en jsp side, som du vælger er din "master". Den skal se således ud [/WEB-INF/jsp/layout/minTemplate.jsp]:

<%@ page language="java" contentType="...  %>
<%@ taglib prefix="stripes" uri="http://stripes.sourceforge.net/stripes.tld" %>
<stripes:layout-definition>
    <html>
        bla...
    <stripes:layout-component name="minheader"/>
        bla...
    <stripes:layout-component name="mitIndhold"/>
</stripes:layout-definition>

Derefter laver du dine specifikke sider:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="...%>
<%@ include file="/WEB-INF/jsp/taglibs.jsp" %>
<%@ taglib prefix="stripes" uri="http://stripes.sourceforge.net/stripes.tld" %>
<stripes:layout-render name="/WEB-INF/jsp/layout/minTemplate.jsp">
    <stripes:layout-component name="minheader">
        .. specifik html/jsp ...
    </stripes:layout-component>
    <stripes:layout-component name="mitIndhold">
        .. specifik html/jsp ...
    </stripes:layout-component>
</stripes:layout-render>


Ser ok nemt ud ik?
Avatar billede allanrbo Nybegynder
27. december 2006 - 16:06 #8
Ser faktisk rimeligt overskueligt ud ja! Tak for det, jeg ser på det :-)
Avatar billede cayman Nybegynder
02. februar 2007 - 11:28 #9
Måske skulle vi lukke spm?
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