Erro em JSF, Padrões diferentes de páginas

6 respostas
cesarcneto

Caros estou com um problema que, a princípio pode até parecer uma dúvida que já foi postada aqui no forum. É o seguinte:

Baixei as implementações oficiais mais recentes e estáveis de JSF(1.2_03), Facelets(1.1.11), criei um novo projeto no eclipse, configurei corretamente o faces-config.xml e o web.xml e coloquei na pasta /WEB-INF/lib os seguintes arquivos:

  • jsf-api.jar;
  • jsf-impl.jar
  • jsf-facelets.jar;
  • el-api.jar;
  • el-ri.jar;

Em seguida crio uma página jsp qualquer por exemplo

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
<head>
   <title>JSF in Action: JSTL Example 1 - Mixing JSF with other custom tags
   </title>
</head>
<body bgcolor="#FFFFFF">
   <f:view>
      <p>teste</p>
   &lt;/f:view&gt;
&lt;/body&gt;
&lt;/html&gt;

Ai starto o servidor Tomcat5.5 e aparece

exception

javax.servlet.ServletException: Error Parsing /mostrarPosts.jsp: Error Traced[line: 4] The content of elements must consist of well-formed character data or markup.
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:249)

root cause

com.sun.facelets.FaceletException: Error Parsing /mostrarPosts.jsp: Error Traced[line: 4] The content of elements must consist of well-formed character data or markup.

Poém caso eu crie um página neste template,

&lt?xml version="1.0" encoding="utf-8"?&gt
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Insert title here&lt;/title&gt;
&lt;/head&gt;
&lt;f:view&gt;
	&lt;body&gt;
	<p>Teste</p>
	&lt;/body&gt;
&lt;/f:view&gt;
&lt;/html&gt;

A coisa funfa…
Dois problemas:
1º - Não vejo problemas trabalhar com o segundo padrão de template porém, desta forma o eclipse não exibe a complementação de código para as tags f, h e ui do JSF. Sugestões?
2º - Se eu modificar o segundo template para usar a tag <jsp:root>…</jsp:root> eu não consigo utilizar acentos em minhas páginas de jeito nenhum… Alguém seba dizer porque?

Além disso, não estou seguro se esta configuraçao que fiz para JSF esta totalmente correta. Eu utilizei o seguinte tutorial:
http://www.thearcmind.com/confluence/display/SHJFT/Getting+started+with+JSF,+Facelets,+Eclipse+WTP+and+Tomcat
Alguém conhece algo melhor?

Desde ja, muito obrigado!

6 Respostas

urubatan

é por causa do facelets, ele exige que as tuas páginas sejam XHTML padrão …

PS.: ontem instalei o eclipse 3.3M5 com WTP 2.0, e o suporte a XHTML e JSP Document continua uma bosta …

to quase mudando pro netbeans definitivamente só por causa disto …

urubatan

PS2.: a configuração ta legal, eu só trocaria o eclipse pelo netbeans pelo menos para a edição dos JSPs pelo motivo citado anteriormente, e adicionaria JPA para a persistencia …

e se a aplicação tiver mais do que umas poucas telas, da para adicionar o spring-annotations junto, vai diminuir drasticamente a quantidade de XML que tu vai escrever :smiley:

cesarcneto

Sobre JPA, esta anotado o recado!!! Com certeza vou utilizar…

Mas pô Kra você não tâm nenhuma outro sugestão para mim!?!?!?

Não me encomoda o fato de eu ter que escrever xhtml… o que esta realmente incomodando é o fato de não conseguir utilizar acentos nas páginas e nos poder contar com a complementação de código…

Tah osso de eu conseguir uma resposta…

Outra coisa estranha que percebi é que durante a inicialização do servidor via eclipse, surge a seguinte linha no console:

WARNING: JSF1033: Resource injection is DISABLED.

Mas mesmo assim muito obrigado pela pronta resposta!!!

rvaldomiro

Ressussitando o tópico…

Alguém conseguiu solução para o problema do code completion em xhtml? Tô no mesmo apuro aqui, porém todas as aplicações estão no eclipse e vai ser meio dificil fazer a moçada querer trocar de IDE só por causa dessa bosta…
Não existe nenhum método alternativo para ativar as “tais”??

Abraço!

JotaJota

ReRessussitando o topico

pow alguem conseguiu algo??
testei aki tambem e deu o mesmo erro
parece qeu tem algo relacionado com essas taglibs

se vc nao usar

<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f” %>

<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h” %>

<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c” %>

funciona normal a pagina
mas é enviavel!!!

E

Mude UTF-8 para o padrão ISO-8859-1.

Criado 15 de março de 2007
Ultima resposta 14 de out. de 2008
Respostas 6
Participantes 5