Discussion:
How to get Excel directly started using response.setContentType(...) from JSP?
Zsolt Koppany
2002-09-04 06:57:22 UTC
Permalink
Hi,

I can get Excel directly started from a servlet using two things:
1. response.setContentType("application/vnd.ms-excel");
2. the servlet path ends with result.xls (like /servlet/abc/result.xls?p=1)

I can use response.setContentType(...) from JSP too, but I was not able to use
a JSP path to end with "xls", thus when I start (click on a link) the JSP
file, first I'm asked whether I want to open the file directly or just to
download.
How could I get Excel started without any furher questions like it is possible
from a servlet?

Zsolt
Shapira, Yoav
2002-09-04 12:58:56 UTC
Permalink
Hi,
Both of these depend on your user's configuration to some extent. For
example, I personally have the .xls extension configured to bring up the
question (save or open).

Be careful not to forget that handling of responses based on content
type or extension is completely controllable by the user, who can assign
an arbitrary application to each extension.

Yoav Shapira
Millennium ChemInformatics
-----Original Message-----
Sent: Wednesday, September 04, 2002 2:57 AM
Subject: How to get Excel directly started using
response.setContentType(...) from JSP?
Hi,
1. response.setContentType("application/vnd.ms-excel");
2. the servlet path ends with result.xls (like
/servlet/abc/result.xls?p=1)
I can use response.setContentType(...) from JSP too, but I was not able
to
use
a JSP path to end with "xls", thus when I start (click on a link) the
JSP
file, first I'm asked whether I want to open the file directly or just
to
download.
How could I get Excel started without any furher questions like it is
possible
from a servlet?
Zsolt
--
To unsubscribe, e-mail: <mailto:tomcat-user-
For additional commands, e-mail: <mailto:tomcat-user-
Justin Ruthenbeck
2002-09-04 18:46:31 UTC
Permalink
Zsolt --

Guess I'm a bit confused why you wouldn't want to use the setContentType()
method in your jsp ... this is how a problem like this is normally solved
(and why the method exists in the first place).

Regardless, you can also do it by extension on your jsp. Depending on how
your project is setup, this may be prohibitively difficult, but you can
precompile your jsp and map it (now a servlet) to whatever you want in your
web.xml -- map it to result.xls if you'd like. If you (1) aren't
precompiling jsps or (2) have a complex proxy environment with webservers,
this will be difficult. All the more reason to use setContentType().

Happy trails!
justin
Post by Zsolt Koppany
Hi,
1. response.setContentType("application/vnd.ms-excel");
2. the servlet path ends with result.xls (like /servlet/abc/result.xls?p=1)
I can use response.setContentType(...) from JSP too, but I was not able to use
a JSP path to end with "xls", thus when I start (click on a link) the JSP
file, first I'm asked whether I want to open the file directly or just to
download.
How could I get Excel started without any furher questions like it is possible
from a servlet?
Zsolt
--
Randy Paries
2002-09-04 19:20:40 UTC
Permalink
The only problem with using setContentType is a wonderful bug in IE
Not sure if it is for excel but we are having the problem with pdf's
The work around is to but a dummy name/value in the query string
Foo=.pdf

RP

-----Original Message-----
From: Justin Ruthenbeck [mailto:***@nextengine.com]
Sent: Wednesday, September 04, 2002 1:47 PM
To: Tomcat Users List
Subject: Re: How to get Excel directly started using
response.setContentType(...) from JSP?



Zsolt --

Guess I'm a bit confused why you wouldn't want to use the
setContentType()
method in your jsp ... this is how a problem like this is normally
solved
(and why the method exists in the first place).

Regardless, you can also do it by extension on your jsp. Depending on
how
your project is setup, this may be prohibitively difficult, but you can
precompile your jsp and map it (now a servlet) to whatever you want in
your
web.xml -- map it to result.xls if you'd like. If you (1) aren't
precompiling jsps or (2) have a complex proxy environment with
webservers,
this will be difficult. All the more reason to use setContentType().

Happy trails!
justin
Hi,
I can get Excel directly started from a servlet using two things: 1.
response.setContentType("application/vnd.ms-excel");
2. the servlet path ends with result.xls (like
/servlet/abc/result.xls?p=1)
I can use response.setContentType(...) from JSP too, but I was not able
to
use
a JSP path to end with "xls", thus when I start (click on a link) the JSP
file, first I'm asked whether I want to open the file directly or just to
download.
How could I get Excel started without any furher questions like it is possible
from a servlet?
Zsolt
--
--
To unsubscribe, e-mail:
<mailto:tomcat-user-***@jakarta.apache.org>
For additional commands, e-mail:
<mailto:tomcat-user-***@jakarta.apache.org>

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.384 / Virus Database: 216 - Release Date: 8/21/2002


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.384 / Virus Database: 216 - Release Date: 8/21/2002
Zsolt Koppany
2002-09-04 23:19:51 UTC
Permalink
I do use setContentType(), but I do get asked by IE whether I want to open or
save the document. From a servlet using the ...xls in the URL I can prevent
the question whether I want to open the document, it will be opened without
any questions.

Zsolt
Post by Justin Ruthenbeck
Zsolt --
Guess I'm a bit confused why you wouldn't want to use the setContentType()
method in your jsp ... this is how a problem like this is normally solved
(and why the method exists in the first place).
Regardless, you can also do it by extension on your jsp. Depending on how
your project is setup, this may be prohibitively difficult, but you can
precompile your jsp and map it (now a servlet) to whatever you want in your
web.xml -- map it to result.xls if you'd like. If you (1) aren't
precompiling jsps or (2) have a complex proxy environment with webservers,
this will be difficult. All the more reason to use setContentType().
Happy trails!
justin
Post by Zsolt Koppany
Hi,
1. response.setContentType("application/vnd.ms-excel");
2. the servlet path ends with result.xls (like
/servlet/abc/result.xls?p=1)
I can use response.setContentType(...) from JSP too, but I was not able to use
a JSP path to end with "xls", thus when I start (click on a link) the JSP
file, first I'm asked whether I want to open the file directly or just to
download.
How could I get Excel started without any furher questions like it is possible
from a servlet?
Zsolt
--
Justin Ruthenbeck
2002-09-04 23:56:24 UTC
Permalink
Have you tried Randy Paries' suggestion about appending a bogus parameter
like this:

http://www.host.com/myApp/account/users/results.jsp?a=.xls

I've seen this work for jpg and swf files before -- curious if this will
solve your problem...

justin
Post by Zsolt Koppany
I do use setContentType(), but I do get asked by IE whether I want to open or
save the document. From a servlet using the ...xls in the URL I can prevent
the question whether I want to open the document, it will be opened without
any questions.
Zsolt
Post by Justin Ruthenbeck
Zsolt --
Guess I'm a bit confused why you wouldn't want to use the setContentType()
method in your jsp ... this is how a problem like this is normally solved
(and why the method exists in the first place).
Regardless, you can also do it by extension on your jsp. Depending on how
your project is setup, this may be prohibitively difficult, but you can
precompile your jsp and map it (now a servlet) to whatever you want in your
web.xml -- map it to result.xls if you'd like. If you (1) aren't
precompiling jsps or (2) have a complex proxy environment with webservers,
this will be difficult. All the more reason to use setContentType().
Happy trails!
justin
Post by Zsolt Koppany
Hi,
1. response.setContentType("application/vnd.ms-excel");
2. the servlet path ends with result.xls (like
/servlet/abc/result.xls?p=1)
I can use response.setContentType(...) from JSP too, but I was not able to use
a JSP path to end with "xls", thus when I start (click on a link) the JSP
file, first I'm asked whether I want to open the file directly or just to
download.
How could I get Excel started without any furher questions like it is possible
from a servlet?
Zsolt
--
--
Zsolt Koppany
2002-09-05 11:44:49 UTC
Permalink
No, it didn't help.

Zsolt
Post by Justin Ruthenbeck
Have you tried Randy Paries' suggestion about appending a bogus parameter
http://www.host.com/myApp/account/users/results.jsp?a=.xls
I've seen this work for jpg and swf files before -- curious if this will
solve your problem...
justin
Post by Zsolt Koppany
I do use setContentType(), but I do get asked by IE whether I want to open
or save the document. From a servlet using the ...xls in the URL I can
prevent the question whether I want to open the document, it will be
opened without any questions.
Zsolt
Post by Justin Ruthenbeck
Zsolt --
Guess I'm a bit confused why you wouldn't want to use the
setContentType() method in your jsp ... this is how a problem like this
is normally solved (and why the method exists in the first place).
Regardless, you can also do it by extension on your jsp. Depending on
how your project is setup, this may be prohibitively difficult, but you
can precompile your jsp and map it (now a servlet) to whatever you want
in your web.xml -- map it to result.xls if you'd like. If you (1)
aren't precompiling jsps or (2) have a complex proxy environment with
webservers, this will be difficult. All the more reason to use
setContentType().
Happy trails!
justin
Post by Zsolt Koppany
Hi,
1. response.setContentType("application/vnd.ms-excel");
2. the servlet path ends with result.xls (like
/servlet/abc/result.xls?p=1)
I can use response.setContentType(...) from JSP too, but I was not able to use
a JSP path to end with "xls", thus when I start (click on a link) the
JSP file, first I'm asked whether I want to open the file directly or
just to download.
How could I get Excel started without any furher questions like it is possible
from a servlet?
Zsolt
--
--
Shapira, Yoav
2002-09-05 13:13:43 UTC
Permalink
Hi,
Post by Zsolt Koppany
save the document. From a servlet using the ...xls in the URL I can
prevent
Post by Zsolt Koppany
the question whether I want to open the document, it will be opened
without
Post by Zsolt Koppany
any questions.
Subject to user configuration. Servlets with that still prompt the
question on my browser. Unless you control all users' configurations,
you can't rely on this mechanism.

Yoav Shapira
Millennium ChemInformatics

Loading...