myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stéphane Rondinaud <>
Subject Re: [TRINIDAD] Trinidad 1.2.13 + MyFaces 1.2.8 + Tomahawk 1.2.9 + Facelets 1.1.14: tabs in facelets ending in the page output in their escaped form
Date Mon, 17 May 2010 19:09:57 GMT
Hello Max,

The trouble when using a handful of framework is that when something  
breaks, the question is always to "which one is broken?". If I posted  
here, it's because Trinidad was the only framework that changed when  
the problem happened.

You'll find attached a lightly modified version of the test case. It's  
a maven project again, and the integration test is illustrating the  
problem. It expects a trinidadRelease parameter as follow:

   mvn -DtrinidadRelease=12 integration-test

=> this results in no problem on the integration test

  mvn -DtrinidadRelease=13 integration-test

=> this results in a failure of the test checking the presence of  
"&#9;" in the output page

Now it could be that up to and excluding release 13, Trinidad was  
incorrectly dealing with the tabs by passing them as is to the output  
page. Thus we'd have built our application on a false premise, thus  
the current problem?

I suspect a little regression though: the revision I indicated in my  
previous post was modifying a serious bit of code in files named  
HtmlEscapes/XmlEscapes or something similar. I've got had time yet to  
delve into Trinidad code but the fact that between release 12 and 13  
the behaviour changed strikes me as a more than probable cause of the  

Best regards,

   Stéphane Rondinaud

Le 17 mai 10 à 17:12, Max Starets a écrit :

> Hi Stéphane,
> I was able to reproduce your problem, but I believe this is more of  
> a Facelets issue.
> The Facelets engine is using ResponseWriter.writeText() to render  
> all text between the tags
> including the white space. Since the tab character is not a valid  
> HTML/XML character, Trinidad
> is escaping it, as I believe it should given that it is being asked  
> to write text.
> Note that you would get ResponseWriter.write() being called if you  
> had a JSPX document.
> I think your only choice is to replace the tab characters with space  
> characters.
> Is it only me, or do you guys think that Facelets/JSF2 should be  
> exposing SKIP_WHITE_SPACE context
> parameter just like it does with  SKIP_COMMENTS ?
> Max
> Stéphane Rondinaud wrote:
>> Hello all,
>> I needed to update to 1.2.13 to solve a problem with search engine  
>> bots generation NPEs, and just after the switch, I realized that  
>> some tabs present in the different facelets pages were getting  
>> through to the output page escaped as "&#9;", ruining my attempt at  
>> having conforming webpages - the tabs being in the <head></head>,  
>> the validation fails...
>> I traced back the problem to commit 886958 related to bug  
>> TRINIDAD-1655. What's bothering me is that I seem to be the only  
>> one to have this problem as I couldn't find any post on the mailing  
>> list about such a problem.
>> You'll find attached a minimal maven project illustrating the  
>> problem. Launching it by "mvn jetty:run" and browsing to http://localhost:8080/TrinidadTest/

>>  will return a page with some "&#9;" in place of regular tabs.
>> One last thing: I tried to use a Selenium test to track the problem  
>> but it seems that the "getHtmlSource()" method replaces  
>> automatically the &#9; with regular tabs, thus rendering the test  
>> useless.
>> Please feel free to request anything that could help finding the  
>> cause of the issue,
>> Best regards,
>>  Stéphane Rondinaud

View raw message