我ijsf2 facelets:應該足以在模板中聲明utf-8嗎?
我有一個問題,如果我將我的模板定義爲UTF-8頁面,不應該將該行爲應用於所有包含它的調用嗎?
我創建了一個簡單的模板,它打印出「añu是一個gnu(這個工程)」,這意味着它可以理解和正確處理'ñ'字符。但是,當我包含另一個頁面(chupacabra),如果我嘗試打印包含相同'ñ'字符的單詞,我收到com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:無效字節
simple_template.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:head>
</h:head>
<h:body style="background-color:black;" >
a ñu is a gnu (this one works)
<ui:insert name="contenido"/>
</h:body>
</html>
chupacabra.xhtml
<ui:composition
template="/paginas/comun/simple_template.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:dabit="http://java.sun.com/jsf/composite/components">
<ui:define name="contenido">
<h:form>
añoo (this one wont work)
</h:form>
</ui:define>
</ui:composition>
也許這只是編輯器的錯誤編碼。如果您正在使用eclipse打開的文件屬性並查看** chupacabra.xhtml的編碼** – partlov
您使用哪種編輯器來編輯/保存Facelets文件?蝕? – BalusC
@partlov謝謝partlov。 rightclicked chupacabra.xhtml,屬性,資源,設置文本文件編碼爲utf-8,關閉eclipse,運行eclipse -clean,仍然得到相同的異常。 –