Componente Pacote de transferência do Faces

Consulte também

Este componente avançado cria uma marca <f:loadBundle> personalizada que expõe um pacote de recursos como um Mapa.

Esta marca permite que você crie uma aplicação Web localizável. Seu uso é melhor ilustrado pelo exemplo seguinte, que mostra o resultado final na página JSP:

Você possui um ResourceBundle padrão chamado com.foo.mypackage.resources, e deseja usar esse pacote para localizar os avisos em sua página JSP. O código JSP seguinte faz com que seja realizada uma busca local da localizada no valor renderizado por outputText sob a chave de mensagem my.message.key.

   <f:view>
   ...
   <f:loadBundle basename="com.foo.mypackage.resources" var="msgs"/>
   ...
   <h:outputText value="#{msgs['my.message.key']}"/>
   ...
   </f:view>

Este código JSP funciona porque <f:loadBundle> sintetiza um objeto java.util.Map para empacotar o pacote de recursos e, em seguida, armazena o objeto como um atributo de escopo de solicitação sob a chave especificada pelo atributo var. Como as expressões de vinculação de valor sabem como navegar em um Mapa, essa técnica funciona bem para localizar itens como avisos de campo.

Pacote de recursos e arquivos de propriedade

Em geral, quando deseja fornecer um pacote de recursos dentro da sua aplicação, você deve criar um arquivo de propriedades para conter a mensagem, como descrito em Criando e excluindo um pacote de recursos.

Depois que você cria um novo arquivo de propriedades, ele é aberto no Editor de propriedades. Para cada propriedade que deseja adicionar, clique em Nova propriedade e, na caixa de diálogo Nova propriedade, indique uma chave e um valor.

Quando você implanta sua aplicação, o arquivo de propriedades é copiado para o diretório WEB-INF/classes/nome-do-projeto, de forma que esteja disponível para ser carregado pela marca <f:loadBundle>. Quando usa o arquivo de pacote, você especifica um valor para a propriedade basename de uma marca <f:loadBundle> que é a combinação do nome do projeto (o mesmo que o nome do pacote) e o nome base do arquivo de propriedades separado por um ponto. Por exemplo, se o nome do seu projeto for webapplication1 e o arquivo de propriedades se chama Bundle, o código será:

<f:loadBundle basename="webapplication1.Bundle" var="var-name"/>

Consulte também
Sobre componentes

Notificações legais