Yes, this is no valid xhtml.
If you need this for your jsf sources you can try somthing like this:
<t:div rendered="#{portalbean.useCase eq 'submitNew'}" >
<h:out escape="false" value="<tr >" />
<h:out escape="false" value="<td width='5%'>" />
<h:out escape="false" value="  " />
<h:out escape="false" value="</td>" />
<h:out escape="false" value="<td align='left' rowspan='4'
class='rightCellLine'>" />
<h:outputLabel value="#{labels.regCal_when}  " />
<t:inputCalendar id="kalender" renderAsPopup="true"
popupButtonString="Click here to show Calendar"
renderPopupButtonAsImage="true"
popupDateFormat="dd/MM/yyyy"
popupTodayString="#{labels.regCal_today} "
popupWeekString="#{labels.regCal_week}"
required="true"
value="#{regcalbean.currentEvent.dateChosen}">
</t:inputCalendar>    
<h:out escape="false" value="..." />
<h:message for="kalender" styleClass="error" />
</t:div>
this is (nearly) what f:verbatim will produce at component level.
Regards,
Volker
Philippe Lamote wrote:
> OK, I'll try that tomorrow. (Yet, at first glance, I'm afraid my XHTML
> parser will not accept that solution - as the tags are not anymore
> "properly nested" this way, eg. mix of verbatim & td tags)
> I'll let you know.
> Philippe
> On 21 Feb 2006, at 00:09, Volker Weber wrote:
>
> You need to enclose all plain html in verbatim, but don't put jsf in
> verbatim.
>
> try somthing like this:
>
> <t:div rendered="#{portalbean.useCase eq 'submitNew'}" >
> <f:verbatim>
>
> <tr >
> <td width="5%">  </td>
> <td align="left" rowspan="4" class="rightCellLine">
> </f:verbatim>
> <h:outputLabel value="#{labels.regCal_when}  " />
> <t:inputCalendar id="kalender" renderAsPopup="true"
> popupButtonString="Click here to show Calendar"
> renderPopupButtonAsImage="true"
> popupDateFormat="dd/MM/yyyy"
> popupTodayString="#{labels.regCal_today} "
> popupWeekString="#{labels.regCal_week}"
> required="true"
> value="#{regcalbean.currentEvent.dateChosen}">
> </t:inputCalendar>    
> <f:verbatim>
> ...
> </f:verbatim>
> <h:message for="kalender" styleClass="error" />
> </t:div>
>
>
> Regards,
> Volker
>
> Philippe Lamote wrote:
>
>> Yes, I have. (Well, "had")
>> I removed the verbatims and now it works - "functionally".
>> "Easthetically" the page became a mess since now he's also rendering
>> the plain (non-jsf) HTML inside "hidden divs" (I mean divs with
>> rendered = false) , which he did do not previously.
>> Some more explanation:
>> I had a table with elements defined in pure HTML (using <table>, <tr>
>> and <td>)
>> I had parts of the table (collection of rows) that I wanted to show or
>> hide, depending on the Use Case. So I was using the <t:div
>> rendered=f(some var) > wrapping these column sets.
>> I added verbatim tags to properly hide/show the html markup inside
>> these divs.
>>
>> Now I removed the verbatim tags. Functionally it works but he's showing
>> the HTML inside the hidden divs.
>> To solve this, does this basically mean I will have to rewrite all HTML
>> to purely JSF code as the mix of both obviously entails some annoying
>> side effects?
>> ( & thx for the advice already)
>> Philippe
>>
>> On 20 Feb 2006, at 23:16, Volker Weber wrote:
>>
>> Hi Philippe,
>>
>> you have jsf tags inside of f:verbatim? AFAIK this will not work, you
>> should close the verbatim before the jsf tags, and reopen after.
>>
>>
>> Regards,
>> Volker
>>
>> Philippe Lamote wrote:
>>
>>> Hi List,
>>>
>>> Another problem I've run into today:
>>>
>>> -- I have in my page a div like this: (inside a form)
>>> ...
>>> <!-- For the Use Case Submit New Calendar: -->
>>> <t:div rendered="#{portalbean.useCase eq 'submitNew'}" >
>>> <f:verbatim>
>>>
>>> <tr >
>>> <td width="5%">  </td>
>>> <td align="left" rowspan="4" class="rightCellLine">
>>> <h:outputLabel value="#{labels.regCal_when}
>>>  " />
>>> <t:inputCalendar id="kalender"
>>> renderAsPopup="true"
>>>
>>> popupButtonString="Click here to show Calendar"
>>>
>>> renderPopupButtonAsImage="true"
>>>
>>> popupDateFormat="dd/MM/yyyy"
>>>
>>> popupTodayString="#{labels.regCal_today} "
>>>
>>> popupWeekString="#{labels.regCal_week}"
>>> required="true"
>>>
>>> value="#{regcalbean.currentEvent.dateChosen}">
>>>
>>> </t:inputCalendar>    
>>>
>>> ...
>>> <h:message for="kalender" styleClass="error" />
>>> </f:verbatim>
>>> </t:div>
>>>
>>>
>>>
>>> All is rendered well when the Use Case chosen equals "submitNew", so
>>> far no problem.
>>>
>>> The "currentEvent" for its value, is of Type CalendarEvent where the
>>> relevant part of that class states:
>>> ... /**
>>> * The chosen Date:
>>> */
>>> private Date dateChosen;
>>>
>>> /**
>>> * @return Returns the dateChosen.
>>> */
>>> public Date getDateChosen() {
>>> return dateChosen;
>>> }
>>> /**
>>> * @param dateChosen The dateChosen to set.
>>> */
>>> public void setDateChosen(Date dateChosen) {
>>> this.dateChosen = dateChosen;
>>> }
>>> (in the constructor dateChosen is not instantiated to avoid a default
>>> date of today in the inputCalendar field - this makes no
>>> difference as
>>> to the issue however)
>>>
>>> The problem:
>>> The weird stuff is twofold:
>>> 1/ The inputCalendar is a "required" element.
>>> Yet, when I don't fill anything in, I get no complaints.
>>> 2/ It turns out that despite the fact all data inside the div is
>>> rendered, NONE of this data is actually saved. In fact whatever I
>>> type
>>> into it, the "value" stays "null".
>>> All data of currentEvent outside the div is saved correctly.
>>>
>>> Any ideas as to the "why"?
>>> I don't think this is how div is supposed to work, is it?
>>>
>>> Philippe
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>
--
Don't answer to From: address!
Mail to this account are droped if not recieved via mailinglist.
To contact me direct create the mail address by
concatenating my forename to my senders domain.