Newsgroup: it.comp.java
Titolo: jsf comportamento diverso su IE7 e Firefox 3.0

ciao a tutti, sto studiando la tecnologia Java Server Faces con il
libro "Beginning JSP, JSF, and Tomcat Web Development From Novice to
Professional" ,e sto provando i sorgenti delle web app analizzate e mi
succede una cosa strana quando eseguo (su Tomcat 6) l'applicazione che
utilizza jsf: se lancio l'url 
http://localhost:8080/MIAWEBAPPJSF/
 su
Firefox, vedo correttamente le pagine i dati dal db , se faccio la
stessa cosa su Internet Explorer 7 mi appare la finestra "download del
file -Avviso id protezione" e mi propone MIAWEBAPPJSF "Tipo file
sconosciuto" con i pulsanti Trova - Salva - annulla...
c'è qualche cosa da settare nel browser microsoft?
grazie :-D

 c'è qualche cosa da settare nel browser microsoft?
Mi sembra un problema di JSF e non di IE.
Credo che  il content type non sia settato correttamente. Che versione
di JSF stai utilizzando?

Sto vedendo nelle pagine jspx che c'è sempre il blocco seguente:
<?xml version="1.0" encoding="ISO-8859-1"?>
<jsp:root
  xmlns:jsp="
http://java.sun.com/JSP/Page
"
  xmlns:c="
http://java.sun.com/jsp/jstl/core
"
  version="2.1"
  >
<jsp:
directive.page
  language="java"
  contentType="text/css; charset=ISO-8859-1"
  pageEncoding="ISO-8859-1"
  />

nella index.jspx ho :
<jsp:
directive.page
  language="java"
  contentType="ISO-8859-1"
  pageEncoding="ISO-8859-1"
  />


non esiste quel content type e text/css significa css e non HTML.
Togli pure contentType="..." cosi' usi quello impostato da JSF.

ho provato nella mia index.jspx a sostituire il blocco di codice
<jsp:
directive.page
  language="java"
  contentType="ISO-8859-1"
  pageEncoding="ISO-8859-1"
  />
con il seguente
<jsp:
directive.page
  language="java"
  />
e adesso con IE mi fa vedere l'alberatura stile XML:
 <!DOCTYPE html (View Source for full doctype...)>
- <html xmlns="
http://www.w3.org/1999/xhtml
">
- <head>
  <title>Welcome</title>
  <link type="text/css" href="/eshopf/css/eshopf.jspx"
rel="stylesheet" />
  </head>
- <body>
- <form id="j_id_jsp_1240909915_1" name="j_id_jsp_1240909915_1"
method="post" action="/eshopf/jsp/index.jsf" enctype="application/x-
www-form-urlencoded">
  <input type="hidden" name="j_id_jsp_1240909915_1"
value="j_id_jsp_1240909915_1" />

ho provato a creare una banale pagina prova.jspx , se eseguo la pagina
da url di tomcat con Firefox vedo l'output con IE vedo l'alberatura
stile xml. al che ho fatto ancora questa prova, ho salvato il source
html sul desktop, se lo apro con entrambi i browser vedo correttamente
l'output del body (CIAOOOOOOOOOOOOOOOOOOO)
ecco l'esempio:
<?xml version="1.0" encoding="ISO-8859-1"?>
<jsp:root
  xmlns:jsp="
http://java.sun.com/JSP/Page
"
  xmlns:f="
http://java.sun.com/jsf/core
"
  xmlns:h="
http://java.sun.com/jsf/html
"
  xmlns:c="
http://java.sun.com/jsp/jstl/core
"
  version="2.1"
  >
 <jsp:
directive.page
  language="java"
  />
<jsp:output
  doctype-root-element="html"
  doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
  doctype-system="
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
"
  />
<html xmlns="
http://www.w3.org/1999/xhtml
">
<head>
  <title>Pagina di prova senza content-type e neanche il CSS</title>
  </head>
<body>
  CIAOOOOOOOOOOO
  </body>
</html>
</jsp:root>


Allora controlla la versione di JSF. Intanto dovrebbe funzionare
forzando il content type:
contentType="text/html"

grazie così funziona :-D
<?xml version="1.0" encoding="ISO-8859-1"?>
<jsp:root
  xmlns:jsp="
http://java.sun.com/JSP/Page
"
  xmlns:f="
http://java.sun.com/jsf/core
"
  xmlns:h="
http://java.sun.com/jsf/html
"
  xmlns:c="
http://java.sun.com/jsp/jstl/core
"
  version="2.1"
  >
 <jsp:
directive.page
  language="java"
   contentType="text/html"
  />
<jsp:output
  doctype-root-element="html"
  doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
  doctype-system="
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
"
  />
  <c:url var="cssUrl" value="/css/eshopf.jspx"/>
<html xmlns="
http://www.w3.org/1999/xhtml
">
<head>
  <title>Pagina di prova con content-type=html</title>
   <link rel="stylesheet" href="${cssUrl}" type="text/css"/>
  </head>
<body>
  Pagina di prova con  contentType="text/html" nella directive page
della jspx
  </body>
</html>
</jsp:root>