Pergunta

Eu tenho um problema semelhante ao encontrado aqui: JSF selectItem formatação rótulo .

O que eu quero fazer é aceitar uma dupla como um valor para o meu e exibi-lo com duas casas decimais. isso pode ser feito de uma forma fácil?

Eu tentei usar mas que parece ser aplicado sobre o valor do inputText que é enviado para o servidor e não sobre o valor inicial no campo de entrada.

O meu código até agora:

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

EDIT: O código acima realmente funciona. Eu estava enganado por JDeveloper que não atualizar a página jsp mesmo quando eu fiz reconstruir uma explícita do meu projeto e reiniciado o servidor OC4J incorporado. No entanto, após uma reinicialização do meu computador que estava tudo bem.

Foi útil?

Solução

Se eu não estou mal-entendido sua exigência, eu era capaz de conseguir a formatação do valor na caixa de entrada durante o processamento da visão com:

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

Eu estava no Padrão Faces Components no meu Eclipse fornecedores de marca, então eu estou supondo que o atributo pattern faz parte de JSF padrão.

Outras dicas

Se o que você está tentando fazer é tornar o valor da alteração no campo de texto de entrada na tela (à entrada do usuário correto), você provavelmente deve olhar para usar um dos quadros JSF ajax como Faces ricos .

Um exemplo possível seria algo como isto:

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

Eu não testei isso, mas eu acho que pode funcionar.

Parece que você está realmente formatar uma moeda. Já existe um formatador específico para moedas punho que você pode atribuir muitas opções para:

<f:convertNumber type="currency" />

Alguns atributos interessantes desta tag são:. locale, currencyCode, integerOnly, currencySymbol e pattern

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top