Avatar billede tmo Nybegynder
07. januar 2002 - 15:24 Der er 7 kommentarer og
1 løsning

Printwriter

Hej

Jeg har en servlet som laver noget html fra xml/xsl. Jeg ønsker at skrive direkte til output(PrintWriter output = response.getWriter();)nedenstående kode laver en html file test.html.

Document doc = new Xml().parseDocument(xmlfile);
StylesheetFactory factory = new Xsl();
Stylesheet style = factory.newStylesheet(xslfile);
StreamTransformer transformer= style.newStreamTransformer();
WriteStream os = Vfs.openWrite(\"test.html\");
transformer.transform(doc,os);
os.close();

Hvordan skrives direkte output?? dvs noget med transformer.transform(doc,output); men for følgende exception Incompatible type for method. Can\'t convert java.io.PrintWriter to java.io.OutputStream
Avatar billede disky Nybegynder
07. januar 2002 - 15:32 #1
det er en grim ting at skrive direkte til output, hvis designet af webside ændres, skal man rette i koden i stedet for i designet.
Avatar billede tmo Nybegynder
07. januar 2002 - 15:41 #2
ok, men jeg har lavet et mindre program hvor det er muligt at rette i xsl filer, via et bruger interface. Nu ønsker jeg at kunne vise sitet som skabes af xml+xsl. Derfor skal en servlet lave html og udskrive dette.
Avatar billede disky Nybegynder
07. januar 2002 - 15:46 #3
fair nok.

hmmm jeg kan ikke lige huske hvordan pokker det er man kan gøre det.
Avatar billede carstenknudsen Nybegynder
07. januar 2002 - 15:56 #4
Jeg misforstår muligvis, men du skriver bare til din PrintWriter:
response.setContentType( \"text/html\" );
PrintWritet output = response.getWriter();
output.println(\"<html> jlfjldj </html>\");
hvor du kan læse fra en fil som din test.html hvis
du ønsker det.
Avatar billede tmo Nybegynder
07. januar 2002 - 16:07 #5
Jeg har brugt MEGET tid på at opsætte Resin med en parser+processor til xml/xsl. Jeg brugte først xerces og xalan som funger fint på min lokale maskine, men ikke hos min host. Derfor er jeg gået over til com.caucho.xsl osv.  som er understøttet af min host. Det jeg ønsker er: at kunne lave en html stream/file, uden at lave en WriteStream som skriver til HD på min server, men skrive denne stream direkte til output. 
Avatar billede disky Nybegynder
07. januar 2002 - 16:09 #6
bare af nysgerrighed, er din udbyder www.levonline.com ?
Avatar billede tmo Nybegynder
07. januar 2002 - 16:09 #7
jeps
Avatar billede tmo Nybegynder
07. januar 2002 - 16:29 #8
har løst problmet med:
Document doc = new Xml().parseDocument(xmlfile);
StylesheetFactory factory = new Xsl();
Stylesheet style = factory.newStylesheet(xslfile);
StreamTransformer transformer = style.newStreamTransformer();
transformer.transform(doc, response.getOutputStream());
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