Re: Servlet/JSP - content-type

2001-09-07 Thread Craig R. McClanahan

Calling RequestDispatcher.forward() erases any headers that have been set
by the servlet, so your technique is not going to work.  You will have to
set the content type in the JSP page.

Craig


On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

 Date: Fri, 7 Sep 2001 09:35:36 -0700
 From: Ratnakar  Palle [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: Servlet/JSP - content-type

 Hi All,

 I'm using model 2 architecture, i.e. request comes to servlet, servlet does
 the process and creates the bean and forwards it to JSP. Finally, jsp sends
 the response to the client.
 But, I've a question about the content-type. My bean, should set the
 content-type on jsp and I don't want jsp to set the default content-type.

 I'm doing something like this:
 %@ page language=java %
 jsp:useBean id=controller scope=request
 class=apps.test.LoginController /jsp:useBean
 % response.setContentType(text/html;charset= + controller.getCharset());
 %

 But, looks like jsp is ignoring the content-type set by me because jsp by
 itself sets the default content-type as I didn't provide any contentType
 parameter with %@ page  tag.

 Do you've any idea, how to overcome this situation??

 Thanks,
 -Ratnakar






RE: Servlet/JSP - content-type

2001-09-07 Thread Ratnakar Palle

Hi Craig,

Thanks for your quick response...
I understand that RequestDispatcher.forward() erases any headers but I'm not
setting any header info in the servlet. I want to set it in the jsp, how do
I do that!!
I've the charset info in the databean and I want to use that bean to set it
in the jsp like I indicated in my previous mail:

%@ page language=java %
jsp:useBean id=controller scope=request
class=apps.test.LoginController /jsp:useBean
% response.setContentType(text/html;charset= + controller.getCharset());
%

Any idea??

Hope I was clear!!

Thanks,
-Ratnakar


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Craig
R. McClanahan
Sent: Friday, September 07, 2001 9:45 AM
To: [EMAIL PROTECTED]
Subject: Re: Servlet/JSP - content-type


Calling RequestDispatcher.forward() erases any headers that have been set
by the servlet, so your technique is not going to work.  You will have to
set the content type in the JSP page.

Craig


On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

 Date: Fri, 7 Sep 2001 09:35:36 -0700
 From: Ratnakar  Palle [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: Servlet/JSP - content-type

 Hi All,

 I'm using model 2 architecture, i.e. request comes to servlet, servlet
does
 the process and creates the bean and forwards it to JSP. Finally, jsp
sends
 the response to the client.
 But, I've a question about the content-type. My bean, should set the
 content-type on jsp and I don't want jsp to set the default content-type.

 I'm doing something like this:
 %@ page language=java %
 jsp:useBean id=controller scope=request
 class=apps.test.LoginController /jsp:useBean
 % response.setContentType(text/html;charset= +
controller.getCharset());
 %

 But, looks like jsp is ignoring the content-type set by me because jsp by
 itself sets the default content-type as I didn't provide any contentType
 parameter with %@ page  tag.

 Do you've any idea, how to overcome this situation??

 Thanks,
 -Ratnakar






RE: Servlet/JSP - content-type

2001-09-07 Thread Craig R. McClanahan

On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

 Date: Fri, 7 Sep 2001 12:07:07 -0700
 From: Ratnakar  Palle [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: RE: Servlet/JSP - content-type

 Hi Craig,

 Thanks for your quick response...
 I understand that RequestDispatcher.forward() erases any headers but I'm not
 setting any header info in the servlet. I want to set it in the jsp, how do
 I do that!!
 I've the charset info in the databean and I want to use that bean to set it
 in the jsp like I indicated in my previous mail:

 %@ page language=java %
 jsp:useBean id=controller scope=request
 class=apps.test.LoginController /jsp:useBean
 % response.setContentType(text/html;charset= + controller.getCharset());
 %

 Any idea??

 Hope I was clear!!


Ah, missed that little detail ... I jumped to an incorrect conclusion when
you said model 2 :-)

In a JSP 1.1 environment (i.e. Tomcat 3.x), the character set used on the
output page itself is determined by when the container calls
response.getWriter().  There is no spec language to define this, so
containers are free to do what they want -- and Tomcat calls
response.getWriter() before your scriptlet has the chance to do anything.
Therefore, your custom character encoding is ignored.

In a JSP 1.2 environment (i.e. Tomcat 4.0), the container is supposed to
wait before calling getWriter() until you fill the buffer (or flush it
yourself).  Therefore, your code should work in Tomcat 4.

 Thanks,
 -Ratnakar


Craig


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Craig
 R. McClanahan
 Sent: Friday, September 07, 2001 9:45 AM
 To: [EMAIL PROTECTED]
 Subject: Re: Servlet/JSP - content-type


 Calling RequestDispatcher.forward() erases any headers that have been set
 by the servlet, so your technique is not going to work.  You will have to
 set the content type in the JSP page.

 Craig


 On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

  Date: Fri, 7 Sep 2001 09:35:36 -0700
  From: Ratnakar  Palle [EMAIL PROTECTED]
  Reply-To: [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Subject: Servlet/JSP - content-type
 
  Hi All,
 
  I'm using model 2 architecture, i.e. request comes to servlet, servlet
 does
  the process and creates the bean and forwards it to JSP. Finally, jsp
 sends
  the response to the client.
  But, I've a question about the content-type. My bean, should set the
  content-type on jsp and I don't want jsp to set the default content-type.
 
  I'm doing something like this:
  %@ page language=java %
  jsp:useBean id=controller scope=request
  class=apps.test.LoginController /jsp:useBean
  % response.setContentType(text/html;charset= +
 controller.getCharset());
  %
 
  But, looks like jsp is ignoring the content-type set by me because jsp by
  itself sets the default content-type as I didn't provide any contentType
  parameter with %@ page  tag.
 
  Do you've any idea, how to overcome this situation??
 
  Thanks,
  -Ratnakar
 
 






RE: Servlet/JSP - content-type

2001-09-07 Thread Ratnakar Palle

Thanks Craig for clarification...

I've another question on that line..

I'm actually using the i18n tag library in the same jsp page. That is, it
looks something like this:

%@ page import=com.cisco.appadmin.login.ui.LoginController %
jsp:useBean id=controller scope=request
class=com.cisco.appadmin.login.ui.LoginController /jsp:useBean
%@ taglib uri=http://jakarta.apache.org/taglibs; prefix=i18n %
i18n:bundle baseName=com.cisco.appadmin.text.resources.LoginRB
locale=%= controller.getLocale() % /
% response.setContentType(text/html;charset= + controller.getCharset());
%

So, it should be OK in jsp1.2 spec ( i.e. Tomcat 4.x version), right!!

The reason am asking is, looks like the tag i18n:bundle also sets the
content type but I want the content-type to be set based on my databean.
Based on your reason, this should work because am overwriting the content
type with % response.setContentType(text/html;charset= +
controller.getCharset()); %...
And, container will wait until, the buffer is filled (or flushed)..

Please correct me if am wrong!!

Thanks for your time,
-Ratnakar



-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Craig
R. McClanahan
Sent: Friday, September 07, 2001 12:18 PM
To: [EMAIL PROTECTED]
Subject: RE: Servlet/JSP - content-type


On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

 Date: Fri, 7 Sep 2001 12:07:07 -0700
 From: Ratnakar  Palle [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: RE: Servlet/JSP - content-type

 Hi Craig,

 Thanks for your quick response...
 I understand that RequestDispatcher.forward() erases any headers but I'm
not
 setting any header info in the servlet. I want to set it in the jsp, how
do
 I do that!!
 I've the charset info in the databean and I want to use that bean to set
it
 in the jsp like I indicated in my previous mail:

 %@ page language=java %
 jsp:useBean id=controller scope=request
 class=apps.test.LoginController /jsp:useBean
 % response.setContentType(text/html;charset= +
controller.getCharset());
 %

 Any idea??

 Hope I was clear!!


Ah, missed that little detail ... I jumped to an incorrect conclusion when
you said model 2 :-)

In a JSP 1.1 environment (i.e. Tomcat 3.x), the character set used on the
output page itself is determined by when the container calls
response.getWriter().  There is no spec language to define this, so
containers are free to do what they want -- and Tomcat calls
response.getWriter() before your scriptlet has the chance to do anything.
Therefore, your custom character encoding is ignored.

In a JSP 1.2 environment (i.e. Tomcat 4.0), the container is supposed to
wait before calling getWriter() until you fill the buffer (or flush it
yourself).  Therefore, your code should work in Tomcat 4.

 Thanks,
 -Ratnakar


Craig


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Craig
 R. McClanahan
 Sent: Friday, September 07, 2001 9:45 AM
 To: [EMAIL PROTECTED]
 Subject: Re: Servlet/JSP - content-type


 Calling RequestDispatcher.forward() erases any headers that have been set
 by the servlet, so your technique is not going to work.  You will have to
 set the content type in the JSP page.

 Craig


 On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

  Date: Fri, 7 Sep 2001 09:35:36 -0700
  From: Ratnakar  Palle [EMAIL PROTECTED]
  Reply-To: [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Subject: Servlet/JSP - content-type
 
  Hi All,
 
  I'm using model 2 architecture, i.e. request comes to servlet, servlet
 does
  the process and creates the bean and forwards it to JSP. Finally, jsp
 sends
  the response to the client.
  But, I've a question about the content-type. My bean, should set the
  content-type on jsp and I don't want jsp to set the default
content-type.
 
  I'm doing something like this:
  %@ page language=java %
  jsp:useBean id=controller scope=request
  class=apps.test.LoginController /jsp:useBean
  % response.setContentType(text/html;charset= +
 controller.getCharset());
  %
 
  But, looks like jsp is ignoring the content-type set by me because jsp
by
  itself sets the default content-type as I didn't provide any contentType
  parameter with %@ page  tag.
 
  Do you've any idea, how to overcome this situation??
 
  Thanks,
  -Ratnakar
 
 






RE: Servlet/JSP - content-type

2001-09-07 Thread Craig R. McClanahan



On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

 Date: Fri, 7 Sep 2001 12:41:38 -0700
 From: Ratnakar  Palle [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: RE: Servlet/JSP - content-type

 Thanks Craig for clarification...

 I've another question on that line..

 I'm actually using the i18n tag library in the same jsp page. That is, it
 looks something like this:

 %@ page import=com.cisco.appadmin.login.ui.LoginController %
 jsp:useBean id=controller scope=request
 class=com.cisco.appadmin.login.ui.LoginController /jsp:useBean
 %@ taglib uri=http://jakarta.apache.org/taglibs; prefix=i18n %
 i18n:bundle baseName=com.cisco.appadmin.text.resources.LoginRB
 locale=%= controller.getLocale() % /
 % response.setContentType(text/html;charset= + controller.getCharset());
 %

 So, it should be OK in jsp1.2 spec ( i.e. Tomcat 4.x version), right!!

 The reason am asking is, looks like the tag i18n:bundle also sets the
 content type but I want the content-type to be set based on my databean.
 Based on your reason, this should work because am overwriting the content
 type with % response.setContentType(text/html;charset= +
 controller.getCharset()); %...
 And, container will wait until, the buffer is filled (or flushed)..

 Please correct me if am wrong!!


Conceptually, this should work ... but you might want to ask on the
TAGLIBS-USER list as well.  I've never used this particular tag library.

 Thanks for your time,
 -Ratnakar


Craig




 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Craig
 R. McClanahan
 Sent: Friday, September 07, 2001 12:18 PM
 To: [EMAIL PROTECTED]
 Subject: RE: Servlet/JSP - content-type


 On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

  Date: Fri, 7 Sep 2001 12:07:07 -0700
  From: Ratnakar  Palle [EMAIL PROTECTED]
  Reply-To: [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Subject: RE: Servlet/JSP - content-type
 
  Hi Craig,
 
  Thanks for your quick response...
  I understand that RequestDispatcher.forward() erases any headers but I'm
 not
  setting any header info in the servlet. I want to set it in the jsp, how
 do
  I do that!!
  I've the charset info in the databean and I want to use that bean to set
 it
  in the jsp like I indicated in my previous mail:
 
  %@ page language=java %
  jsp:useBean id=controller scope=request
  class=apps.test.LoginController /jsp:useBean
  % response.setContentType(text/html;charset= +
 controller.getCharset());
  %
 
  Any idea??
 
  Hope I was clear!!
 

 Ah, missed that little detail ... I jumped to an incorrect conclusion when
 you said model 2 :-)

 In a JSP 1.1 environment (i.e. Tomcat 3.x), the character set used on the
 output page itself is determined by when the container calls
 response.getWriter().  There is no spec language to define this, so
 containers are free to do what they want -- and Tomcat calls
 response.getWriter() before your scriptlet has the chance to do anything.
 Therefore, your custom character encoding is ignored.

 In a JSP 1.2 environment (i.e. Tomcat 4.0), the container is supposed to
 wait before calling getWriter() until you fill the buffer (or flush it
 yourself).  Therefore, your code should work in Tomcat 4.

  Thanks,
  -Ratnakar
 

 Craig

 
  -Original Message-
  From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Craig
  R. McClanahan
  Sent: Friday, September 07, 2001 9:45 AM
  To: [EMAIL PROTECTED]
  Subject: Re: Servlet/JSP - content-type
 
 
  Calling RequestDispatcher.forward() erases any headers that have been set
  by the servlet, so your technique is not going to work.  You will have to
  set the content type in the JSP page.
 
  Craig
 
 
  On Fri, 7 Sep 2001, Ratnakar  Palle wrote:
 
   Date: Fri, 7 Sep 2001 09:35:36 -0700
   From: Ratnakar  Palle [EMAIL PROTECTED]
   Reply-To: [EMAIL PROTECTED]
   To: [EMAIL PROTECTED]
   Subject: Servlet/JSP - content-type
  
   Hi All,
  
   I'm using model 2 architecture, i.e. request comes to servlet, servlet
  does
   the process and creates the bean and forwards it to JSP. Finally, jsp
  sends
   the response to the client.
   But, I've a question about the content-type. My bean, should set the
   content-type on jsp and I don't want jsp to set the default
 content-type.
  
   I'm doing something like this:
   %@ page language=java %
   jsp:useBean id=controller scope=request
   class=apps.test.LoginController /jsp:useBean
   % response.setContentType(text/html;charset= +
  controller.getCharset());
   %
  
   But, looks like jsp is ignoring the content-type set by me because jsp
 by
   itself sets the default content-type as I didn't provide any contentType
   parameter with %@ page  tag.
  
   Do you've any idea, how to overcome this situation??
  
   Thanks,
   -Ratnakar
  
  
 
 






RE: Servlet/JSP - content-type

2001-09-07 Thread Ratnakar Palle

Thanks Craig, I'll check with TAGLIBS-USER list

-Ratnakar


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Craig
R. McClanahan
Sent: Friday, September 07, 2001 1:02 PM
To: [EMAIL PROTECTED]
Subject: RE: Servlet/JSP - content-type




On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

 Date: Fri, 7 Sep 2001 12:41:38 -0700
 From: Ratnakar  Palle [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: RE: Servlet/JSP - content-type

 Thanks Craig for clarification...

 I've another question on that line..

 I'm actually using the i18n tag library in the same jsp page. That is, it
 looks something like this:

 %@ page import=com.cisco.appadmin.login.ui.LoginController %
 jsp:useBean id=controller scope=request
 class=com.cisco.appadmin.login.ui.LoginController /jsp:useBean
 %@ taglib uri=http://jakarta.apache.org/taglibs; prefix=i18n %
 i18n:bundle baseName=com.cisco.appadmin.text.resources.LoginRB
 locale=%= controller.getLocale() % /
 % response.setContentType(text/html;charset= +
controller.getCharset());
 %

 So, it should be OK in jsp1.2 spec ( i.e. Tomcat 4.x version), right!!

 The reason am asking is, looks like the tag i18n:bundle also sets the
 content type but I want the content-type to be set based on my databean.
 Based on your reason, this should work because am overwriting the content
 type with % response.setContentType(text/html;charset= +
 controller.getCharset()); %...
 And, container will wait until, the buffer is filled (or flushed)..

 Please correct me if am wrong!!


Conceptually, this should work ... but you might want to ask on the
TAGLIBS-USER list as well.  I've never used this particular tag library.

 Thanks for your time,
 -Ratnakar


Craig




 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Craig
 R. McClanahan
 Sent: Friday, September 07, 2001 12:18 PM
 To: [EMAIL PROTECTED]
 Subject: RE: Servlet/JSP - content-type


 On Fri, 7 Sep 2001, Ratnakar  Palle wrote:

  Date: Fri, 7 Sep 2001 12:07:07 -0700
  From: Ratnakar  Palle [EMAIL PROTECTED]
  Reply-To: [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Subject: RE: Servlet/JSP - content-type
 
  Hi Craig,
 
  Thanks for your quick response...
  I understand that RequestDispatcher.forward() erases any headers but I'm
 not
  setting any header info in the servlet. I want to set it in the jsp, how
 do
  I do that!!
  I've the charset info in the databean and I want to use that bean to set
 it
  in the jsp like I indicated in my previous mail:
 
  %@ page language=java %
  jsp:useBean id=controller scope=request
  class=apps.test.LoginController /jsp:useBean
  % response.setContentType(text/html;charset= +
 controller.getCharset());
  %
 
  Any idea??
 
  Hope I was clear!!
 

 Ah, missed that little detail ... I jumped to an incorrect conclusion when
 you said model 2 :-)

 In a JSP 1.1 environment (i.e. Tomcat 3.x), the character set used on the
 output page itself is determined by when the container calls
 response.getWriter().  There is no spec language to define this, so
 containers are free to do what they want -- and Tomcat calls
 response.getWriter() before your scriptlet has the chance to do anything.
 Therefore, your custom character encoding is ignored.

 In a JSP 1.2 environment (i.e. Tomcat 4.0), the container is supposed to
 wait before calling getWriter() until you fill the buffer (or flush it
 yourself).  Therefore, your code should work in Tomcat 4.

  Thanks,
  -Ratnakar
 

 Craig

 
  -Original Message-
  From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Craig
  R. McClanahan
  Sent: Friday, September 07, 2001 9:45 AM
  To: [EMAIL PROTECTED]
  Subject: Re: Servlet/JSP - content-type
 
 
  Calling RequestDispatcher.forward() erases any headers that have been
set
  by the servlet, so your technique is not going to work.  You will have
to
  set the content type in the JSP page.
 
  Craig
 
 
  On Fri, 7 Sep 2001, Ratnakar  Palle wrote:
 
   Date: Fri, 7 Sep 2001 09:35:36 -0700
   From: Ratnakar  Palle [EMAIL PROTECTED]
   Reply-To: [EMAIL PROTECTED]
   To: [EMAIL PROTECTED]
   Subject: Servlet/JSP - content-type
  
   Hi All,
  
   I'm using model 2 architecture, i.e. request comes to servlet, servlet
  does
   the process and creates the bean and forwards it to JSP. Finally, jsp
  sends
   the response to the client.
   But, I've a question about the content-type. My bean, should set the
   content-type on jsp and I don't want jsp to set the default
 content-type.
  
   I'm doing something like this:
   %@ page language=java %
   jsp:useBean id=controller scope=request
   class=apps.test.LoginController /jsp:useBean
   % response.setContentType(text/html;charset= +
  controller.getCharset());
   %
  
   But, looks like jsp is ignoring the content-type set by me because jsp
 by
   itself sets the default content-type as I didn't provide any
contentType
   parameter with %@ page  tag.
  
   Do