3 PDF in 3 "new Windows" öffnen

P_H_I_L

Erfahrenes Mitglied
Hallo hier meine Problemstellung:
ich möchte automatisch beim öffnen einer Seite 3 PDF's öffnen.
das automatische öffnen mache ich mit Hyperlinks, die ich im onLoad der Seite mittels JavaScript aufrufe.

Code:
ImageHyperlink1:
/faces/partner/pdf.jsp?docID1=1

ImageHyperlink2:
/faces/partner/Preisverzeichnis.jsp?docID2=2

ImageHyperlink3:
/faces/partner/Imagebrochuere.jsp?docID3=3

--> wie man sieht verweisen die 3Hyperlinks, auf 3 verschiedene Seiten. Hinter jeder seite verbirgt sich im Init eine Funktion die das PDF öffnen soll.(1 ist ein Report, 2 wird aus Datenbank gelesen Blob und das dritte PDF wird auch aus DB gelesn)

also beim Debuggen sehe ich, wie die 3 bisher "leeren" Fenster aufgehen. Ich arbeite beim Hyperlink mit target = "newPage"

doch dann überschreiben sich die PDF's. Das heißt, das aktuelle Fenster überschreibt sich. man sieht zuerst den einen Report, dann kurz darauf das 2 PDF aus der DB und dann das letzte PDF bleibt stehen.

Doch es sollen alle 3Reports geöffnet bleiben. was mache ich falsch?
ich arbeite mit Response:
ist ein Beispiel aus dem 2. PDF-Funktion
HttpServletResponse response2 = (HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
ist her schon der Fehler? Bin ratlos, habe gedacht wenn ich auf 3 verschiedene Seiten mit Funktionen verweise, dann merkt sich das das Fenster und in jedem zugewiesenen Fenster wird das pdf geöffnet. aber das ist hier nicht der fall.. hmm weiß nicht weiter
 
Zuletzt bearbeitet:
Zum ersten:
Das hat null mit Java zu tun.

Zum zweiten:
Das hat noch nicht mal was mit JavaScript zu tun :-)

Zum dritten:
Wenn du über HTML (jedesmal) ein neues Fenster öffnen möchtest, dann heißt das target = "_blank"

Wenn du drei mal denselben Namen angibst, dann wird natürlich auch der Inhalt desselben Fensters dreimal aktualisiert.
 
Zuletzt bearbeitet:
das hat wohl zu 100% was mit java zu tun!
ich arbeit mitm studio creator und dort verwende ich das imageHyperlink Element! und dort kann man target="_blank(new Window einstellen)"

wer sagt denn das ich 3 mal den gleichen namen verwende?
wenn ich in meinem Post eins weiter oben schaue, habe ich genau diesen Block eingefügt:
Code:
ImageHyperlink1:
/faces/partner/pdf.jsp?docID1=1

ImageHyperlink2:
/faces/partner/Preisverzeichnis.jsp?docID2=2

ImageHyperlink3:
/faces/partner/Imagebrochuere.jsp?docID3=3

es sind doch 3 verschiedene windows die aufgerufen werden
1. Hyperlink = pdf.jsp (wird eine Funktion aufgerufen, die einen Report erstellt und als PDF ausgibt)
2. Hyperlink = imagebrochuere.jsp (wind eine funktion aufgerufen, die einen BLOB aus der DB liest. dieser blob ist ein PDF)
3.Hyperlink = Preisverzeichnis.jsp (wird eine Funktion aufgerufen, die einen BLOB aus der Datenbank ausliest und diesen als PDF öffnet)

so jede Funktion arbeitet hiermit:
Code:
HttpServletResponse response2 = (HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
                //HttpServletResponse response2 = (HttpServletResponse)econtext.getResponse();
                response2.setContentType("application/pdf");
                FacesContext fcontext = FacesContext.getCurrentInstance();
response2.getOutputStream().flush();
                    response2.getOutputStream().close();
                    fcontext.responseComplete();

Mein Problem ist, das aber nacheinander alle 3 PDF's in dem focusierten Fenster erscheinen. warum? ich rufe doch 3 verschiedene neue Fenster auf, die alle einen Request erhalten. und mittels einem Response werden sie befüllt.

bitte um hilfestellung.
 
Das Problem sind nicht deine Links.
Die sind unterschiedlich - das hab sogar ich gesehen :-)

Aber du verwendest als Bezeichner für dein Target immer den selben Bezeichner:
Ich arbeite beim Hyperlink mit target = "newPage"

Und newPage ist nunmal kein korrekter Bezeichner in HTML für ein neues Fenster, sonder "_blank"

Und wenn es tatsächlich ein Java-Problem wäre, warum postest du nicht einfach mal den Code, in dem du deine Links komplett mit target stehen hast?
 
wie gesagt in studio creator kann man mittels drop down die Hyperlink auswählen und da heißt es eben target = "new Page" = weiß selber das new Page "_blank" durchführt.
will ja auch eine neue seite öffnen :-)

schicke von 2ten und 3ten Hyperlinks mal den Code. Beim ersten baue ich ja einen Report zusammen, das wäre jetzt zu groß und umfangreich.

ich denke mir hald das es am Code liegt, da ich ja alles andere richtig eingestellt habe. nur der Response bezieht sich irgendwie aus unerklärlichen Gründen immer auf nur ein Fenster! obwohl ja meien hyperlinks auf 3 verschiedene neu geöffnete Fenster verweisen.
naja vielleicht sagt ja die Funktion, wo der Fehler ist!
Danke für die bisherige Hilfe :-)
 

Anhänge

also beim Debuggen sehe ich, wie die 3 bisher "leeren" Fenster aufgehen. Ich arbeite beim Hyperlink mit target = "newPage"

doch dann überschreiben sich die PDF's. Das heißt, das aktuelle Fenster überschreibt sich. man sieht zuerst den einen Report, dann kurz darauf das 2 PDF aus der DB und dann das letzte PDF bleibt stehen.

Ist das so zu verstehen, dass tatsächlich 3 ! Fenster aufgehen, dann aber nur in einem dieser 3 Fenster die drei pdfs geladen werden

Kopier das mal in eine txt-Datei und benenne sie in .html um.
Öffne Sie und klicke die drei Links nacheinander an.
Was passiert?

Code:
<a href="/faces/partner/pdf.jsp?docID1=1" target="_blank">1</a>
<a href="/faces/partner/Preisverzeichnis.jsp?docID2=2" target="_blank">2</a>
<a href="/faces/partner/Imagebrochuere.jsp?docID3=3" target="_blank">3</a>
 
habe das versucht aber geht leider nicht. :-(

wenn ich die seite öffne, dann kommt eine Fehlermeldung wenn ich die 3 Links klicke.!
 
also hab mir das problem wieder angesehn!!
und muss sagen der mist hat mich einen Tag gekostet. Es ging von Anfang an... doch mein Adobe-Reader 7.0 hatte voll den schuss weg. Weil mein Chef hat sich das Problem angesehn auf seinem Rechner und da ging es auf anhieb. naja muss wohl den NeuInstallieren.
Aber Trotzdem danke für deine Hilfe
 
Zurück