0
String 및 BigDecimal 유형의 필드가있는 클래스가 있습니다. 구분 기호로 BigDecimal을 표시 할 때 점이 쉼표가되고 싶습니다. 나는 폴란드어에 대한 코딩을 변경했지만 여전히 점입니다. <f:convertNumber locale=""#{language.locale}"/>
사용할 때 잘 작동하지만 모든 필드가 많기 때문에 모든 필드에서 그렇게하고 싶지 않습니다.BigDecimal을 볼 때 십진수 구분 기호
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
얼굴-config.xml에
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
<application>
<locale-config>
<default-locale>pl</default-locale>
</locale-config>
</application>
</faces-config>
Language.java
@Named
@SessionScoped
public class Language implements Serializable {
private Locale locale;
@PostConstruct
public void init() {
locale = FacesContext.getCurrentInstance().getApplication().getDefaultLocale();
}
public Locale getLocale() {
return locale;
}
public void setLocale(Locale locale) {
this.locale = locale;
}
}
view.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:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:fn="http://xmlns.jcp.org/jsp/jstl/functions">
<f:view locale="#{language.locale}">
<h:head>
<f:facet name="first">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
<h:outputScript library="primefaces" name="jquery/jquery.js" />
</f:facet>
<f:facet name="middle">
<h:outputStylesheet library="css" name="bootstrap.css" />
<h:outputStylesheet library="css" name="default.css" />
<h:outputScript name="js/bootstrap.js" />
</f:facet>
</h:head>
<h:body>
<h:form id="menuForm">
...
...
...
<h:outputText value="#{detail.1}" /> // string
<h:outputText value="#{detail.2}" /> // bigdecimal
...
...
...
</h:form>
</h:body>
</f:view>
</html>
@BalusC 실제로 내가 검색하지 않았다 t 클라이언트 측에서 그것을하고 싶은, 당신은 원하는 형식으로 숫자를하기 위해 여러분의 빈에'를 반복적으로 사용하고 싶지 않으면 올바른 방법입니다. 당신의 것이 더 좋을 것이라고 확신하지만, 미안하지만, 어둠 속에서 촬영하는 것에 대해서는 동의하지 않습니다. 오류가 JSF 지식이 부족한 경우입니다. –
getLocaleNumber()
(또는 유사) 메소드를 추가해야합니다 이 답변을 구글에서, 나는 방공호를 사용했다. ally *, 아마도 반올림이 빠졌지 만, 빈에서 형식화 된 getter를 만드는 IMO 접근법은 '