2008-10-03 35 views
11

JSF selectItem label formatting adresindeki benzerine benzer bir sorunum var.JSF'de bir çift biçimlendirme

Yapmak istediğim, iki katı bir değer olarak benim için bir değer olarak kabul etmekti ve iki ondalık sayı ile görüntülemektir. Bu kolay bir şekilde yapılabilir mi?

Kullanmayı denedim, ancak giriş alanında ilk değere değil, sunucuya gönderilen inputText değerine uygulanmış gibi görünüyor. Bugüne kadar

Kodum:

<h:inputText id="december" value="#{budgetMB.december}" onchange="setDirty()" styleClass="StandardBlack"> 
    <f:convertNumber maxFractionDigits="2" groupingUsed="false" /> 
</h:inputText> 

DÜZENLEME: Yukarıdaki kod aslında çalışır. Projemi açık bir şekilde yeniden oluşturduğum ve gömülü OC4J sunucusunu yeniden başlattığımda bile jsp sayfasını güncellemeyen JDeveloper tarafından kandırıldım. Ancak, bilgisayarımın yeniden başlatılmasından sonra her şey iyiydi. Ben senin gereksinimi yanlış anlama değilsem

+0

< and > karakterlerini içeren JSF kodunu çevrelemek için backticks (') kullanmayı deneyin - Sanırım gönderinin bir kısmını yedim! –

cevap

14

, beraber görüş oluşturulması sırasında giriş kutusunda değerinin biçimini elde etmeyi başardı:

<h:inputText id="text1" value="#{...}"> 
    <f:convertNumber pattern="#,###,##0.00"/> 
</h:inputText> 

Ben Standart kullanıyordum içinde Bileşenleri Faces benim satıcı markalı Eclipse yani pattern özniteliğinin standart JSF'nin bir parçası olduğunu varsayalım. Ne yapmaya çalışıyorsun ekranda giriş metin alanı değişikliğinin değerini yapmak ise

+0

Kodunuz, desende bazı değişikliklerle çalıştı. Bununla birlikte, kendi kodumun şimdi çalıştığını da buldum. JDeveloper, gömülü OC4J sunucusunu yeniden derlerken ve yeniden başlatırken bile yaptığım değişiklikleri yapmadı. Bilgisayarımın yeniden başlatılmasından sonra her şey iyi çalıştı. – Stian

1

(kullanıcı girişi düzeltmek için), muhtemelen Rich Faces gibi MTU ajax çerçeveler birini kullanarak içine bakmak gerekir.

Olası bir örnek şu şekilde görünecektir:

<h:inputText id="december" value="#{budgetMB.december}" styleClass="StandardBlack"> 
    <f:convertNumber maxFractionDigits="2" groupingUsed="false" /> 
    <a4j:support event="onblur" reRender="december" /> 
</h:inputText> 

Bu test değil, ama işe yarayabilir düşünüyorum.

+0

Aslında başka bir yoldu. Girişi doğrulamam ama giriş alanının varsayılan değerini biçimlendirmem gerekmiyor. Yine de teşekkürler! – Stian

0

Aslında bir para birimi biçimlendiriyormuşsunuz gibi görünüyor.

<f:convertNumber type="currency" /> 

bu etiketin bazı ilginç özellikler şunlardır: locale, currencyCode, integerOnly, currencySymbol ve pattern zaten size birçok seçenek atayabilirsiniz para işlemek için belirli bir biçimlendirici söz konusudur.