Working with taglibs in jdev 10.1.3.4 (to be used for facelets)

Short question:
How do I get the jdeveloper to accept this declaration: <em>&lt;%@taglib uri="http://java.sun.com/jsf/facelets" prefix="ui"%&gt;</em> and its elements, such as <em>&lt;ui:include&gt;</em> ?
Full story:
I've been trying to get facelets to work in a project I'm working on. A part of this project, which I have no control over, is automatic javascript insertion via xslt, which makes it impossible for me to use xml style documents. (due to '&lt;'&gt;' being used for comparison, rather than tag opening/closing. Having said that, here's my problem:
I want to use jsf / facelets to create a template page, that will be used in about 30 other pages. If I was able to use an xml-style jsp docuement, I could add an xmlns:ui, and faces support would work. However, since the above is true, I have to define the taglib in jsp style, to be able to use facelets. This would look something like:
<blockquote>
<em>&lt;%@taglib uri="http://java.sun.com/jsf/facelets" prefix="ui"%&gt;</em>
</blockquote>
Upon doing this, jdeveloper tells me that
<blockquote>
<em>Error(7): "http://java.sun.com/jsf/facelets" is not a registered TLD namespace</em>
</blockquote>
and for any uses thereof:
<blockquote>
<em>Error(33): ui:include is not a registered tag in that namespace.</em>
</blockquote>
After I add the jsf-facelets.jar library (tried versions 1.0.1.14, 1.1.11, 1.1.14), nothing changes.
I understand that Jdeveloper wants to validate the taglibs I define, but there is no tld in the jsf distribution and there also should be no need for this (in xml-style syntax, it works fine without validation).
If there's any way I can skip this validation or make jdeveloper believe the library is valid, I'm done. However, I have not been able to find such a function.
Some guy from exadel has uploaded a tld for facelets to the facelets project (it's under contrib, here ). This tld has been referenced in most threads that deal with the problem (jsf in jdeveloper). The tld can't however provide a structural solution, since it's not complete. The &lt;tag-class&gt; and &lt;tei-class&gt; tags within the tld are empty. Reason enough for jdeveloper to halt on it.
Adding the library to jdeveloper would be done thus: go to tools, go to 'manage libraries', go to 'tag libraries' click 'user' and select 'new'. Browse your way trough your filesystem and locate the tld file. Add a reference to the jsf-facelets and a reference to the el-api and el-impl jars and click ok. Then go to project properties and under tag lib libraries, add this library.
Jdeveloper responds to this with the following error:
<blockquote>
<em>Error(33): Unable to instantiate tag: ui:include (class: null) Make sure that the tag class is available and that the tag library containing the class is not excluded from this application.</em>
</blockquote>
Right. To be able to instantiate the tag, jdeveloper seems to not only need the description of the tag, but also the connection to the real thing. I've been exploring the jsf-facelets jar and came to the conclusion that the tags in the tld correspond to the classes in the 'com.sun.facelets.tag.ui.' package, so for ui:include, that would be 'com.sun.facelets.tag.ui.IncludeHandler'.This class, described here here, seems indeed to have the same attributes as our ui:include tag. Tag tei-tag (tag extra information), is, afaik, not mandatory, so I'll leave it empty. Rebuild in developer gave me lots of errors when I did it the first time (which I solved by filling in the other tag-classes), but when recreating it for this topic, I had no problems of that sort. The error I'm stuck with is:
<blockquote>
<em>Error(33): src is not a property of com.sun.facelets.tag.ui.IncludeHandler</em>
</blockquote>
I'm baffled by this statement. The tld says this property exists, the ui:include documentation agrees with me and the file I'm linking to has a src TagAttribute (for which I'm having trouble finding the setter, but it worked in the xml-style version). Using this tld Jdeveloper grants content assistance, which suggests to me that I should use the src tag. It is mandatory.
I tried to fill in the &lt;tei-class&gt;'es, but the facelets jar contains no class (that extends from) tagExtraInfo, as far as I could see. Using the one from jsf (facelets are, in a manner, jsf tags, being just a viewHandler for jsf), didn't change anything.
At this point, I'm stumped. I hope there is either
- a way to disable the tld resolution feature
- a way to make a change in the tld I have now and make jdeveloper parse this tld
- a way to create some dummy tld that jdeveloper will accept
<blockquote>
<em>Error(33): src is not a property of com.sun.facelets.tag.ui.IncludeHandler</em>
</blockquote>
How can I get rid of this error? Thanks for any suggestions!
edit: fixed some typos and messed-up links on 04-Nov-2008 04:35
Edited by: user2103934 on 04-Nov-2008 06:07

Opon further expirimentation, I've discovered that the facelets view handler can not handle the <%@ taglib > declaration, returning me an
com.sun.facelets.FaceletException: Error Parsing /mapviewer.jsp: Error Traced[line: 3] <Line 3, Column 2>: XML-20201: (Fatal Error) Expected name intead of %.
With the facelets handler off, the non-xml facelet declaration is handled fine, but is no help.
Which means I'm bound to use the xml style for facelets, which means I'm going to have to catch the inserted javascript in some manner.
In any case, the original question in this topic is not the problem anymore, so I closed it here and awarded 5 points for a helpful answer.
Edited by: rjonkman on 05-Nov-2008 07:17

Similar Messages

Maybe you are looking for

  • Re Downloading apps help please

    Hi, I have a nokia 5530 XM. I t had a few troubles at the beginning so i had to format the memory card and it's fine now. But i've lost all my apps and i go to the store to re download them but the download button is darker and it wont let me re down

  • How do you add additional fields in infotypes?i want to leave blank space

    how do you add additional fields in infotypes?i want to leave blank space in front of the field?

  • RFC Connection Problem between Production Server & Solution Manager

    Hi, I want to make a RFC Connection between Production Server & Solution Manager. But when go through Tcode- SM59 and click on Remote Logon from Production to connect Solution Manager it showing me a  Client/Userid/Password window and when i connect

  • Problem with Wine, doesn't start

    Hello everyone, I try to use wine, but I have a small problem : It doens't start. When I try to launch it, or for example, winecfg, I have this error : ratur@trillian ~% winecfg wine: Unhandled page fault on read access to 0x00340023 at address 0x7ef

  • Printer driver for cannon

    Is there a workaround for the lack of Cannon Pixma iP1700 driver for my MacBook Pro and Yosemite?