2012-05-16 5 views
5

Ho notato che in JSF 2.1. * I miei commenti condizionali IE non funzionano più. Vari caratteri vengono sostituiti dalle entità HTML & che invalidano la sintassi dei commenti. BalusC ha indicato a solution to the problem in another question che utilizza h: outputText. Il mio problema è che voglio i miei commenti condizionali nella parte superiore della mia pagina, attorno al primo elemento. Questo significa che non posso usare h: outputText perché non ho ancora definito il namespace. Credo che sia corretto comunque. Ecco un esempio di codice.JSF 2.1 e IE Commenti condizionali

maggior parte dalle pagine JSF oggi inizierà con un modello simile alla sintassi HTML5 Boilerplate:

<!DOCTYPE html> 
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7 my-application" lang="en"> <![endif]--> 
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8 my-application" lang="en"> <![endif]--> 
<!--[if IE 8]> <html class="no-js lt-ie9 my-application" lang="en"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js my-application" xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core" lang="en"><!--<![endif]--> 
<h:head> 
    <meta charset="utf-8" /> 
    ... 

Con la soluzione menzionato di BalusC, vorrei <h:outputText /> sulla linea 2, ma l'h spazio dei nomi non è definito ancora. È un elemento che posso usare per attaccare i vari spazi dei nomi, ma non influenzerà il mio HTML finale? Qualche altra idea su come posso aggirare questo problema?

Lee,

risposta

8

avvolgere il tutto in un <f:view> e definire gli spazi dei nomi lì.

<!DOCTYPE html> 
<f:view xmlns="http://www.w3.org/1999/xhtml" ...> 
    ... 
</f:view> 

L'intera vista JSF è tuttavia già implicitamente avvolto in un <f:view>.

+0

Grazie BalusC :) Mi sono chiesto di f: guarda ma ho deciso di postare qui invece di provarlo da solo! –

+0

Prego. – BalusC

+0

Hai ancora bisogno di usare '' con questa soluzione? Oppure il '' lo sostituisce? – Kevin