Newsgroup: it.comp.java
Titolo: comportamento anomalo dell'attributo target

Dunque ho una pagina jsp fatta cosi(ovviamente la semplifico): 
<% 
response.setContentType("application/vnd.ms-excel"); 
response.setHeader("Content-Disposition","attachment; 
filename=foglioexcel.xls"); 
%> 
<html><head></head><body> 
scrivo sul file excel 
</body></html> 
in pratica questa pagina jsp interpreta l'html con excel e mi apre
(oppure mi permette di salvare )un file excel.
poi ho una normale pagina html(chiamiamola paginahtml.html) che
contiene un link alla pagina jsp
il mio dilemma è il seguente: 
se il link lo scrivo cosi: 
<a href="paginajsp.jsp" target="_new">paginajsp</a> 
cliccandoci, mi viene aperta una pagina(la chiamo per comodità pagina
K) e poi quando il browser mi chiede se aprire o salvare il file
excel, se io scelgo di aprirlo me lo apre nella pagina K(cosi come
accadrebbe se io al posto di href="paginajsp.jsp" avessi scritto
href="
http://www.qualunqueindirizzo.com
")
se invece il link lo scrivo cosi: 
<a href="paginajsp.jsp" target="_self">paginajsp</a> 
cliccandoci non mi viene aperto nulla e poi quando il browser mi
chiede se aprire o salvare il file excel, se io scelgo di aprirlo me
lo apre in una nuova pagina(se io al posto di href="paginajsp.jsp"
avessi scritto href="
http://www.qualunqueindirizzo.com
" la pagina
http://www.qualunqueindirizzo.com
 si sarebbe aperta nella medesima
pagina dove c'è paginahtml.html).
perchè si comporta cosi il browser? 
se metto _self il file excel non dovrebbe aprirsi nella stessa pagina
?
forse nella finestra dove c'è paginahtml.html non si puo' aprire un
file excel perchè sono già state determinate delle impostazioni
relative al tipo di pagina da aprire?

 relative al tipo di pagina da aprire?
Probabilmente si risolve aggiungendo un header nella risposta della JSP,
tipo:
"Content-Disposition: inline"
o qualcosa del genere.
Mi pare che esista un metodo:
addHeader("Content-Disposition","inline")
nella classe HTTPServletResponse...
ma forse c'è un modo più semplice.
-- 
Njc

hai ragione, mettendo
response.addHeader("Content-disposition", "inline;
filename=nomefile.xls");
si risolve questo problema.
ma perchè con 
response.setHeader("Content-Disposition","inline;attachment;
filename=nomefile.xls");
si apriva sempre unaltra finestra???
forse facendo response.setHeader non si riesce a forzare le
intestazioni http della pagina mentre con l'altro metodo si?
se hai tempo e voglia, daresti un'occhiata al problema che ho
indicato(sempre in questo forum) intitolato: file excel(con dei
problemi) generato da jsp:
http://groups.google.it/groups?dq=&hl=it&lr=&ie=UTF-8&threadm=5a9281e8.0408090157.c1b5c2c%40posting.google.com&prev=/groups%3Fhl%3Dit%26lr%3D%26ie%3DUTF-8%26group%3Dit.comp.java
grazie mille della collaborazione

...tutto tace.

 problemi) generato da jsp:
Non sono pratico di file excel; ad occhio direi (come è stato detto) che
_non_ dovresti mettere i tag dell'HTML perché non stai spedendo un file
HTML... dovresti mandare in output diettamente i bytes, subito dopo il
settaggio del Content-Type.
Comunque, io lo farei direttamente con una servlet... e magari spedirei
l'header "Length" se non è automatico.
Sei sicuro che il type sia "application/vnd.ms-excel" e non un semplice
"application/octet-stream" ?
-- 
Njc

...


 "application/octet-stream" ?
Ho provato a riscrivere la pagina che ho indicato nel primo post di
questa discussione utilizzando "application/octet-stream" ma non è
cambiato nulla; non so pero' se intendevi questo...
grazie

 > l'header "Length" se non è automatico.
Perchè da una servlet??
Da una pagina jsp non posso fare le stesse cose che faccio da una servlet??

 > l'header "Length" se non è automatico.


 cambiato nulla; non so pero' se intendevi questo...
Era solo una mia curiosità.
-- 
Njc

grazie tantissimo

magari non gliene frega nulla a nessuno ma alla fine ho usato queste
classi:
http://www.andykhan.com/jexcelapi/
per generare il file excel.
per ora mi sembra fili tutto liscio, i file creati vanno benissimo
anche per la procedura sql per cui mi servivano.
grazie a tutti