【发布时间】:2011-11-17 19:24:17
【问题描述】:
我正在使用 jsf 编写应用程序。 我的 gradle 依赖项:
[group: "commons-digester", name: "commons-digester", version: "2.1"],
[group: "com.sun.facelets", name: "jsf-facelets", version: "1.1.14"],
[group: "javax.faces", name: "jsf-api", version: "1.2_15"],
[group: "javax.faces", name: "jsf-impl", version: "1.2_15"],
[group: "javax.servlet", name: "jstl", version: "1.2"],
[group: "org.richfaces.framework", name: "richfaces-api", version: "3.3.3.Final"],
[group: "org.richfaces.framework", name: "richfaces-impl", version: "3.3.3.Final"],
[group: "org.richfaces.ui", name: "richfaces-ui", version: "3.3.3.Final"],
[group: "org.apache.poi", name: "poi", version: "3.2-FINAL"],
[group: "org.primefaces", name: "primefaces", version: "1.1"],
[group: "net.sf.json-lib", name: "json-lib", version: "2.4"],
[group: "commons-codec", name: "commons-codec", version: "1.5"],
[group: "mysql", name: "mysql-connector-java", version: "5.1.17"],
[group: "org.slf4j", name: "slf4j-api", version: "1.6.2"]
我的 jsp 页面直接从 bean 输出一些文本,并将其存储为字符串。 当我使用属性中的西里尔字符串时 - 一切看起来都很好。 但是当我使用 bean 字段中的西里尔字符串时 - 我得到了类似
丰富的数据表代码:
<rich:dataTable value="#{PrintForm.data}" var="invoize" align="center">
<rich:column colspan="#{invoize[0].colspan}" rowspan="#{invoize[0].rowspan}"
rendered="#{invoize[0].rendered}">
<h:outputText value="#{invoize[0].data}"/>
</rich:column>
<rich:column colspan="#{invoize[1].colspan}" rowspan="#{invoize[1].rowspan}"
rendered="#{invoize[1].rendered}">
<h:outputText value="#{invoize[1].data}"/>
</rich:column>
<rich:column colspan="#{invoize[2].colspan}" rowspan="#{invoize[2].rowspan}"
rendered="#{invoize[2].rendered}">
<h:outputText value="#{invoize[2].data}"/>
</rich:column>
<rich:column colspan="#{invoize[3].colspan}" rowspan="#{invoize[3].rowspan}"
rendered="#{invoize[3].rendered}">
<h:outputText value="#{invoize[3].data}"/>
</rich:column>
<rich:column colspan="#{invoize[4].colspan}" rowspan="#{invoize[4].rowspan}"
rendered="#{invoize[4].rendered}">
<h:outputText value="#{invoize[4].data}"/>
</rich:column>
<rich:column colspan="#{invoize[5].colspan}" rowspan="#{invoize[5].rowspan}"
rendered="#{invoize[5].rendered}">
<h:outputText value="#{invoize[5].data}"/>
</rich:column>
</rich:dataTable>
InvoiceBean 代码示例:
this.invoiceData.add(Arrays.asList(
new TableCellData(1[colspan], 1[rowspan], true[rendered], "[Some cyrillic text]"),
new TableCellData(4, 1, true, "[Some cyrillic text]"),
new TableCellData(1, 1, false, ""),
new TableCellData(1, 1, false, ""),
new TableCellData(1, 1, false, "")
));
在表格单元格的页面上,我得到了:
Дополнительная упаковка
有什么想法吗?
更新
printForm.jsp 以:
开头<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<%@ taglib prefix="rich" uri="http://richfaces.org/rich" %>
<%@ taglib prefix="a4j" uri="http://richfaces.org/a4j" %>
<%@ page pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" language="java" %>
f:view>
<html>
<head><title><h:outputText value="[Cyrillic Text Displayed Ok]"/></title></head>
<body style="margin: auto; width: 800px;">
<h:form>
<rich:panel>
<center>
<h1>
[Cyrillic Text Displayed Ok]
</h1>
</center>
</rich:panel>
所以,[Cyrillic Text Displayed Ok] 是可以的,但是 [Some cyrillic text] 是错误的。
注意:tomcat在Ubuntu Linux x64下运行正常,但是Tomcat在Microsoft Windows 7 x86下运行[Some cyrillic text]就出错了
【问题讨论】:
标签: java windows jsf jakarta-ee unicode