10. februar 2003 - 13:20Der er
8 kommentarer og 1 løsning
JSP vs. XSL?
Hejsa!
Jeg har en xml fil, som jeg skal have vist på en jsp side. Jeg har en servlet, som tager imod et request fra en menu. Denne servlet (controller om man vil), kalder så en bean (model om man vil), som tager sig af kontakten til JSP siden, som jo så er min viewdel. Mit spørgsmål er så, om man bør erstatte sin XSL fil med JSP siden, eller om man benytter en kombination af de 2 - således at man på JSP siden både benytter XSL filen og XML filen. Problemet er nemlig at de forskellige requests fra menuen skal behandles forskelligt!
Grundliggende skal du vælge om du vil have din XML processet på client eller server.
Hvis du vil have processet din XML på client så returnerer du bare XML'en direkte til browser med en passende content-type og et link til XSL filen, så vil browseren hente XSL filen og lave transformationen. Forudsat at browseren understøtter XML og XSL.
Hvis du vil have processet din XML på server side så lader du en servlet kalde en XSLT processer som f.eks. Xalan og konverterer XML+XSL til HTML inden den sendes ud til browser.
Kan det evt. gøres smartere med jDom eller er det det samme?! Skal der ikke laves en printwriter til dit kodeeksempel? Ellers får man vel ikke transformeringen vist som html?
Man kan sikkert også bruge JDom, men jeg har ikke lige noget kode liggende.
Og 6 linier rigtig kode er da ikke så slemt.
Jeg genererede en StreamResult fra System.out i mit eksempel men du skal selvfølgelig generere en StreamResult ud fra response.getWriter() i din servlet.
Xalan laver XML+XSL->whatever og så kan du lave din XSL så den genererer korrekt HTML.
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.