Como insiro um caractere de espaço sem quebra & nbsp; em uma página JSF?


Respostas:


177

isso vai funcionar

<h:outputText value="&#160;" />

5
Por que é <h:outputText>necessário?
alexander de

Na verdade, usar os números HTML e não outros atalhos de html é o caminho a percorrer.
Dnl

50

Colocar o número HTML diretamente funcionou para mim:

&#160;

Oh, eu só quero dar a resposta agora. Ainda bem, não supervisionei o seu.
alexander

18

Se você está usando a biblioteca RichFaces, também pode usar a tag rich: spacer que adicionará uma imagem "invisível" com um determinado comprimento e altura. Normalmente muito mais fácil e bonito do que adicionar toneladas de nbsp ;.

Onde você deseja que seu espaço seja exibido, basta adicionar:

<rich:spacer height="1" width="2" />

+1 embora isso não tenha sido exatamente perguntado aqui, mas sua resposta foi útil para mim (em relação ao título)
stacker

5
mesmo aqui, esta tag também existe no PrimeFaces:<p:spacer />
Daniel Szalay

9

Você também pode usar faces primárias <p:spacer width="10" height="10" />


6

Eventualmente, você pode tentar este, se apenas o uso &nbsp;falhar ...

<h:outputText value="& nbsp;" escape="false"/>

(como Tom, adicionei um espaço entre &e nbsp;)


Sinto que fugir é tão importante que pode dar lugar a soluções não seguras. Desistir de escapar para apenas um nbsp / outros elementos html é complicado. Além disso, o 'espaço' pode ser esquecido. Isso é bastante prolixo, embora existam alternativas mais curtas.
Dnl

4

A maneira mais fácil é:

<h:outputText value=" " />

Não é a maneira mais fácil, na minha opinião.
alexander de

4

Descobri que o analisador reclamaria se eu usasse a &nbsp;entidade na minha página. Depois de um pouco de pesquisa, descobri que se adicionasse uma declaração DOCTYPE ao início da página, a entidade era permitida. Eu uso esta declaração DOCTYPE:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Um efeito colateral disso é que o código resultante (conforme visto ao usar o recurso "visualizar código-fonte" de um navegador da web) não contém realmente a &nbsp;entidade. Em vez disso, inclui os caracteres reais que representam um espaço não separável. Embora funcione, não é realmente o que eu quero. Ainda estou procurando uma maneira de fazer com que o analisador não substitua a entidade pelo caractere.

Mais informações aqui: http://java.net/jira/browse/JAVASERVERFACES-1576


2

Você pode usar a primefacesbiblioteca

 <p:spacer width="10" />

Isso não fornece uma resposta para a pergunta. Assim que tiver reputação suficiente, você poderá comentar em qualquer postagem ; em vez disso, forneça respostas que não exijam esclarecimentos do autor da pergunta . - Da avaliação
Luca Detomi

@ihebiheb levou +6, não me diga que está errado, porque eu sei que é verdade, basta você dizer blá blá ..
Mohamed Aymen Charrada

Sua resposta foi sinalizada como muito curta porque faltam detalhes. Sugiro que você adicione detalhes para permitir que os usuários entendam "por que" sua solução pode ser boa ou talvez a melhor. A adição de usuários de detailslet adapta sua solução a problemas ligeiramente diferentes.
Luca Detomi

1

apenas para adicionar opções: <h:outputText value="&amp;nbsp;" escape="false"/>funcionou


Eu sinto que escapar é tão importante, que isso pode dar lugar a soluções não seguras. Desistir de escapar para apenas um nbsp / outros elementos html é complicado. Além disso, isso é bastante prolixo, embora existam alternativas mais curtas.
Dnl

0

Não é necessário dar 160. 141 também funcionará. Para o campo de valor, forneça value = "& # 141".


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.