Quebra de linha no outputText

Boa tarde pessoal…

depois de muito pesquisar sobre como fazer a quebra de linha de uma String recuperada do banco, descobri sobre a tag html

, que mantem as quebras de linha do texto e tals… Como no exemplo do link abaixo
http://www.tiexpert.net/programacao/web/html/pre.php

Bom porem agora o meu problema é outro. Ele funciona corretamente no Firefox, não sei quanto aos outros browsers, porem no Google Chrome ele da um bug e não quebra a linha, ele mantem a mesma linha até encontrar uma quebra de linha.

Na pagina esta da seguinte forma:

<pre width="100%" style="font-family: 'arial', cursive;">
	<h:outputText value="#{item.mensagem}"/>
</pre>

Se alguem tiver alguma idéia de como resolver esse problema de alguma outra forma, que não de problema nos browsers, eu agradeço.

Abraços.

Se seu texto já está formatado já está com a quebra no db, basta colocar o escape como true dentro do inputText.

Não consegui entender muito bem o problema.

Desculpa, eu errei na hora de colocar ali. É no outputText que está o problema, não no input.

E sim, ele recupera do banco com as quebras de linha já, só que na hora que joga pro outputText, ele da problema e não quebra as linhas. Como a gente trabalha com muito log SIP dentro desses textos que estão salvos é essencial que tenhamos quebra de linha, para o log ficar legivel.

E o escape por default vem como true já… não é?

[quote=shadowzaum]Desculpa, eu errei na hora de colocar ali. É no outputText que está o problema, não no input.

E sim, ele recupera do banco com as quebras de linha já, só que na hora que joga pro outputText, ele da problema e não quebra as linhas. Como a gente trabalha com muito log SIP dentro desses textos que estão salvos é essencial que tenhamos quebra de linha, para o log ficar legivel.

E o escape por default vem como true já… não é?[/quote]Exato. Joga para false! :oops: :oops:

Bom, vou reecrever o problema, porque realmente com o titulo falando de input fico meio complicado =P

É o seguinte, eu tenho uma tela onde o usuario coloca mensgens, dai dentro de um dataTable eu recupero todas as mensagens e monto algo parecido com aqueles Shoutbox.

<rich:dataTable id="messagesPanel"
			value="#{chamadoController.mensagens}"
			var="item"
			style="width:95%;"
			rowClasses="rowMessageNoColor,rowMessageColor">

	<rich:column style="width: 150px;">
		<h:panelGrid columns="2" width="100%">
			<rich:column>
				<h:outputText value="#{item.usuario.nome}" styleClass="#{item.usuario.tipo}"/>
				<br/>
				<h:outputText value="#{item.dataEnvio}" styleClass="sample-text">
					<f:convertDateTime pattern="dd/MM/yyyy HH:mm:ss" type="both" timeZone="America/Sao_Paulo" />
				</h:outputText>
			</rich:column>
								
			<rich:column rendered="#{item.notificado}">
				<h:graphicImage value="/images/email.png"/>
			</rich:column>
		</h:panelGrid>
	</rich:column>

	<rich:column >
		<pre width="100%" style="font-family: 'arial', cursive;" >
			<h:outputText value="#{item.mensagem}"/>
		</pre>
	</rich:column>	
</rich:dataTable>

Esse código esta funcionando perfeitamente no Firefox, quebrando linha quando chega ao limite da pagina e tals. Porem no Google Chrome ele não respeita os tamanhos e cria barra de rolagem inferior e diminui o tamanho de todos os outros componentes.

Não sei se ficou mais claro o problema agora.

Dai gostaria de saber se tem como fazer essa “quebra de linha” de outra forma, sem ser com essa tag

 (que foi o unico jeito que achei, sem ser com javascript ou manipulando a string no java e adicionando os 
)

Coloca o comando abaixo no seu outputText:

style="word-wrap: break-word;"

[]'s

1 curtida

Pessoal,

Se vocês fizerem assim [quote]<!— <br></br> —> [/quote] funciona. O JSF apenas quer que vc abre e feche.