Domanda

Ho una pagina JSP che ha bisogno di accettare alcune informazioni in una forma, dopo aver detto modulo di sottoporre alla stessa pagina con un extra di "Grazie per ______" div che viene inserito solo dopo che il modulo di inviare (tramite un controllo dei parametri).

Tuttavia, ho anche bisogno di servire un file sul server per il download, ma non riesco a pasticciare con Content-Disposition del intestazione di servire il file in quanto l'intera pagina JSP ha ancora bisogno di visualizzazione. Come posso offrire questo file senza fare la forma presentare a una pagina diversa? Che trucco javascript potrei usare per aprire una nuova finestra che farebbe questo? Javascript sarebbe bene, ma niente che un blocco popup sarebbe vincente ..

Non è possibile usare un a href per inviare il file -. Deve essere fatto automaticamente

Inoltre, se il file (che è un pdf) si apre nella nuova finestra, va bene anche.

È stato utile?

Soluzione

Ho fatto prima. Caricare la pagina JSP come normale, ma comprendono una linea di JavaScript che reindirizza a un'altra pagina responsabili per servire il file ...

location.href = 'serveFile.jsp';

Finché serveFile.jsp imposta l'intestazione content-disposition correttamente, sarà semplicemente visualizzare la finestra di dialogo Salva e non sarà effettivamente cambiare pagina.

  

Come posso offrire questo file senza andare a una pagina diversa?

È tecnicamente non è possibile, ma si può rimanere nella pagina precedente (interfaccia saggio) utilizzando questo metodo, che realizza un effetto senza soluzione di continuità credo che stai cercando.

Nota: Nella mia implementazione di questo metodo, ho scoperto che dopo aver salvato il file, la navigazione verso una pagina diversa, quindi premere il pulsante di nuovo, si otterrà la finestra di dialogo Salva nuovo. Nessun modo per aggirare questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top