Once again - TLD's are not resolved

I have posted this problem once for build 1050 - now I have to repost it as build 1074 is not working as well with my configuration (it could be I am configuring wrong, though - but I am quite sure I should be right...)

I am using MyFaces (a free JavaServerFaces implementation), and include their jar in my WEB-INF/lib directory and as a lib in the project.

My JSPs include these tlds in the form:

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://myfaces.sourceforge.net/tld/myfaces_ext_0_4.tld" prefix="x"%>

As my web-application (started from the war-file) can correctly resolve these tlds, I would expect IntelliJ to resolve them as well - but all I see are red tags.

I am kind of devastated here ... I would love to have the thing running with just the jar, as the web-application resolves the tags perfectly!

my directory structure:

/web (= web root with a /)
/WEB-INF
web.xml
/lib
myfaces.jar (with tld's in it)
/classes
*.jsp

is there something incorrect with that structure?

Best regards,

Martin


20 comments
Comment actions Permalink

Yeah, taglibs are broken in 1074 for me again. Moving back to 1071.

0
Comment actions Permalink

I just got taglibs working again in 1074. Seems that my settings kept getting reset, my webapp dir setting lost, the Distributable checkmarks, and a few other things. I finally got the settings to save somehow (maybe by modifying my web.xml path again).

0
Comment actions Permalink

Ian Zabel wrote:

I just got taglibs working again in 1074. Seems that my settings kept getting reset, my webapp dir setting lost, the Distributable checkmarks, and a few other things. I finally got the settings to save somehow (maybe by modifying my web.xml path again).

You must have tried to work with a previously created project/module.
New ones created in 1074 from scratch work just fine.

Glad you found it.

R

0
Comment actions Permalink

I'm using 1074 and created a webmodule from scratch. My TLDs also do not work, but there is one interesting thing:
A TLD in a file, that is referenced via web.xml is found. TLDs in the META-INF of a library are not found.
There seems to be a serious bug with children modules and the "distributable" flag (BTW, what's it for?): After applying changes, closing window and open it again, the settings are unchanged or scrambled (some children modules on, some are off).
Perhaps this bug has something to do with TLD problems?

0
Comment actions Permalink

Manfred Geiler wrote:

I'm using 1074 and created a webmodule from scratch. My TLDs also do not work, but there is one interesting thing:
A TLD in a file, that is referenced via web.xml is found. TLDs in the META-INF of a library are not found.
There seems to be a serious bug with children modules and the "distributable" flag (BTW, what's it for?): After applying changes, closing window and open it again, the settings are unchanged or scrambled (some children modules on, some are off).
Perhaps this bug has something to do with TLD problems?


Not only that if you try it again the library will show up twice, then
try it one more time and the libs are fixed and the settings are
changed. This is already fixed in 1076 I believe.

R

0
Comment actions Permalink

I have this problem also in 1080 -- a TLD referenced in the web.xml (using version 2.4 with xsd) works ok -- hooray! But one referenced in a library (in this case, JSTL using the Apache implementation consisting of jstl.jar and standard.jar) does not resolve properly.

If anyone has a magic incantation to make this happen I'm highly interested.

0
Comment actions Permalink

Chris Winters wrote:

I have this problem also in 1080 -- a TLD referenced in the web.xml (using version 2.4 with xsd) works ok -- hooray! But one referenced in a library (in this case, JSTL using the Apache implementation consisting of jstl.jar and standard.jar) does not resolve properly.

If anyone has a magic incantation to make this happen I'm highly interested.

Just curious is that library part of the libraries pane for the module,
and is it checked off as a child in the Web Module tab of the web module
(boy that's confusing)

R

0
Comment actions Permalink

Yes and yes (relative path: '/WEB-INF/lib')-- and both jstl.jar and standard.jar are part of the 'JSTL' library.

0
Comment actions Permalink

I'm not sure if TLDs inside jar files are supported, I never saw an official statement from JetBrains about that yet. I also tried to use Apache's JSTL and had no success, unless I extracted the TLDs from the jar files and stored them explicitely.

0
Comment actions Permalink

I'm not sure if TLDs inside jar files are supported,
I never saw an official statement from JetBrains
about that yet.


TLDs inside jar files WERE supported in idea 3.0.x !
So, IMHO, there is no need for an official statement.

0
Comment actions Permalink

I'm not sure if TLDs inside jar files are

supported,

I never saw an official statement from JetBrains
about that yet.


TLDs inside jar files WERE supported in idea 3.0.x !
So, IMHO, there is no need for an official
statement.


Ok, I wasn't aware of that since I never used it yet. But of course you're right. If it was supported in 3.0.x then it should definitively work in Aurora. Is there already a bug report for it?

0
Comment actions Permalink

Martin Fuhrer wrote:

I'm not sure if TLDs inside jar files are supported, I never saw an official statement from JetBrains about that yet. I also tried to use Apache's JSTL and had no success, unless I extracted the TLDs from the jar files and stored them explicitely.

Well I tried this yesterday, and was not sure what was going on. I have
the c.tld outside the jar too, and can't get it to resolve.

it was a long day, so I gave up and will try again today, but there is
something funky there.

R

0
Comment actions Permalink

Well - a little update:

it seems that some tld's just do not resolve, whether you have them out of a jar, in a jar or whereever....

(that might be additionally to a problem with tld's in jars)

I have filed a bug for that and included several tld's to help debugging... Maybe someone of you can check if the tld's do not resolve with him, too...



Attachment(s):
myfaces_core.tld
myfaces_ext.tld
myfaces_html.tld
0
Comment actions Permalink

Martin Fuhrer wrote:

I'm not sure if TLDs inside jar files are supported, I never saw an official statement from JetBrains about that yet. I also tried to use Apache's JSTL and had no success, unless I extracted the TLDs from the jar files and stored them explicitely.


We support TLDs inside jar files. But for this you have to include them
in deployment (Settings | Paths | Web Module). On the current build it
works fine if addressing via URIs (we checked this on struts). But if
you address tag libs via their jars it fails. This was a bug and it's
fixed now.

IK

--
Igor Kuralenok
Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"

0
Comment actions Permalink

I tried this in 1089 and got the same result. (TLDs found in JARs cannot be referenced via the URI in the 'taglib' JSP declaration.) The JARs are in the Web Module and marked for inclusion under 'Settings | Paths | Web Module'. I even tried splitting out the 'jstl.jar' and 'standard.jar' into separate libraries (e.g., 'JSTL' and 'JSTL Apache'). No good.

I shouldn't need to re-create the module, should I?

0
Comment actions Permalink

I far as I know we've changed format for web modules config in one of
recent builds so please try to reconfigure. Also we had a number of
requests on TLD resolve caused by incorrect namespace inside of taglib
descriptor check this too.

IK

Chris Winters wrote:

I tried this in 1089 and got the same result. (TLDs found in JARs cannot be referenced via the URI in the 'taglib' JSP declaration.) The JARs are in the Web Module and marked for inclusion under 'Settings | Paths | Web Module'. I even tried splitting out the 'jstl.jar' and 'standard.jar' into separate libraries (e.g., 'JSTL' and 'JSTL Apache'). No good.

I shouldn't need to re-create the module, should I?



--
Igor Kuralenok
Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"

0
Comment actions Permalink

As far as I know these files does not define a taglib because of incorrect namespace. The only namespace which was announced by Sun is one for JSP 2.0 other versions had DTD definitions only. To relax this condition IDEA accept DTD urls as correct namespaces but no other.

IK

0
Comment actions Permalink

Using 1094 I've just tried re-creating the web module in my project and get the same results -- a TLD declared in the web.xml is properly found and parsed, one referenced by a URI found in a library JAR (included in webapp) is not found.

I'm referencing the taglib in my JSP (in the directory marked as the web root) like this:

]]>

And the 'standard.jar' in my library has:

JSTL 1.1 core library JSTL core 1.1 c http://java.sun.com/jsp/jstl/core ... ]]>

Let me know if I can provide additional information to help out.

0
Comment actions Permalink

We've just included new namespace (2.0 one) to supported list so please wait for 1095+ build.

Thanks,

IK

0

Please sign in to leave a comment.