Alexey, > To execute TEI you must fill TagData, to do this, you must parse tag. > IDEA realy do this?
Sure. Best regards, Mike Aizatsky. ------------------------------ JetBrains, Inc / IntelliJ Software http://www.intellij.com "Develop with pleasure!" > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On > Behalf Of Alexey A. Efimov > Sent: Tuesday, April 02, 2002 9:14 PM > To: [EMAIL PROTECTED] > Subject: RE: [Eap-list] Re.: webapp support > > Waw :) > Sometimes IDEA come to JSP compiled-by-fly feature? :) > > To execute TEI you must fill TagData, to do this, you must parse tag. > IDEA realy do this? > > I have follow JSP code: > <stl:parameter name="param" /> > > <% > if (param == null || param.length() == 0) { > .... > } > %> > > The keyword 'param' write in red color, and IntelliJ say that variable > not defined. But it is clear, in tomcat its work fine. > > The TEI class - look end of this message > > in tld file: > <tag> > <name>parameter</name> > > <tagclass>com.spklabs.basic.servlet.jsp.tagext.Parameter</tagclass> > > <teiclass>com.spklabs.basic.servlet.jsp.tagext.ParameterTEI</teiclass> > <bodycontent>empty</bodycontent> > <info/> > <attribute> > <name>id</name> > <required>false</required> > <rtexprvalue>false</rtexprvalue> > </attribute> > <attribute> > <name>name</name> > <required>true</required> > <rtexprvalue>true</rtexprvalue> > </attribute> > <attribute> > <name>request</name> > <required>false</required> > <rtexprvalue>true</rtexprvalue> > </attribute> > <attribute> > <name>session</name> > <required>false</required> > <rtexprvalue>true</rtexprvalue> > </attribute> > <attribute> > <name>default</name> > <required>false</required> > <rtexprvalue>true</rtexprvalue> > </attribute> > </tag> > > > > > In any case, thanks for very smart IDE. > > -----Original Message----- > From: Mike Aizatsky [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, April 02, 2002 8:47 PM > To: [EMAIL PROTECTED] > Subject: RE: [Eap-list] Re.: webapp support > > > Alexey, > > IDEA dynamically loads the TEI class and executes it to determine which > variables the tag defines. > > Best regards, > Mike Aizatsky. > ------------------------------ > JetBrains, Inc / IntelliJ Software > http://www.intellij.com > "Develop with pleasure!" > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > On > > Behalf Of Alexey A. Efimov > > Sent: Tuesday, April 02, 2002 8:31 PM > > To: [EMAIL PROTECTED] > > Subject: RE: [Eap-list] Re.: webapp support > > > > Mike, are you sure that it's simple problem? > > For example: > > I have my custom tag - parameter, it read parameters from request, > then > > from session and them defaukt value. The tag wrtiten like this: > > > > <stl:parameter name="submit" session="false" /> > > > > but this thanslated into my tag to follow full form: > > > > <stl:parameter id="submit" name="submit" request="true" > session="false" > > /> > > > > id - is variable's name > > name - is a parameter name > > > > So, the TEI have some logic, becose I can write: <stl:parameter > > name="name" ... /> This make > > String name = request.getParameter("name"); > > > > And also I can: > > <stl:parameter id="myName" name="name" ... /> > > It write: > > String myName = request.getParameter("name"); > > > > My TEI look like: > > /** > > * TEI for Parameter tag > > * @autor Alexey Efimov > > */ > > package com.spklabs.basic.servlet.jsp.tagext; > > > > import javax.servlet.jsp.tagext.TagData; > > import javax.servlet.jsp.tagext.TagExtraInfo; > > import javax.servlet.jsp.tagext.VariableInfo; > > > > public class ParameterTEI extends TagExtraInfo { > > public ParameterTEI() { > > } > > > > public VariableInfo[] getVariableInfo(TagData data) { > > String name = data.getAttributeString("id"); > > if (name == null) name = data.getAttributeString("name"); > > return new VariableInfo[]{ > > new VariableInfo(name, "String", true, VariableInfo.AT_END) > > }; > > } > > } > > > > > > So, very difficult translate it correctly. Maybe just decline this > > option? > > > > -----Original Message----- > > From: Hani Suleiman [mailto:[EMAIL PROTECTED]] > > Sent: Tuesday, April 02, 2002 7:57 PM > > To: [EMAIL PROTECTED] > > Subject: Re: [Eap-list] Re.: webapp support > > > > > > I have the same problem, the TEI class in my case is located in the > > WEB-INF/classes directory (rather than in a jar file in the lib dir, > as > > most other taglibs are) > > > > On 2/4/02 10:36 am, "Mike Aizatsky" <[EMAIL PROTECTED]> wrote: > > > > > Christian, > > > > > > Where is the TEI class located? > > > > > > Best regards, > > > Mike Aizatsky. > > > ------------------------------ > > > JetBrains, Inc / IntelliJ Software > > > http://www.intellij.com > > > "Develop with pleasure!" > > > > > >> -----Original Message----- > > >> From: [EMAIL PROTECTED] > > >> [mailto:[EMAIL PROTECTED]] > > > On > > >> Behalf Of Christian Sell > > >> Sent: Tuesday, April 02, 2002 7:23 PM > > >> To: [EMAIL PROTECTED] > > >> Subject: [Eap-list] Re.: webapp support > > >> > > >>>> also, IDEAS jsp support does not seem to recognize variables that > > > are > > >>>> introduced by tags. I have a tag which introduces a variable, and > > > >>>> scripting which appears after the tag and makes use of the > > >>>> variable. IDEA > > > shows > > >>>> errors, but the pages work flawlessly > > >>> > > >>> > > >>> It's also impossible to resolve the error having this amount of > > >>> information. Do you have WebApp correctly defined? Is IDEA able to > > > >>> autcomplete tags in your tag library? Do you have TEI classes for > > > your > > >>> tags? > > >> > > >> Here you go: My jsp looks roughly like below. The webapp is > correctly > > > > >> defined and recognized, tag autocompletion works nicely. The trick > is > > > that > > >> the <runtime> tag introduces a scripting variable named "var" (as > > > defined > > >> by > > >> the parameter) into the current context (see the TEI class > definition > > > > >> below). However, inside the <% %> script, IDEA does not recognize > > >> that variable, and wrongly flags an error... > > >> > > >> JSP: > > >> === > > >> <%@ taglib uri="www.dynabeans.com/wcf/taglibs/wcf01.tld" > prefix="wcf" > > > %> > > >> > > >> <p>blablabla</p> > > >> <wcf:runtime id="var" /> > > >> <% > > >> var.doSomething(); > > >> %> > > >> > > >> > > >> TEI class: > > >> ====== > > >> public final class RuntimeTEI extends TagExtraInfo > > >> { > > >> /** > > >> * Return information about the scripting variables to be > > created. > > >> */ > > >> public VariableInfo[] getVariableInfo(TagData data) > > >> { > > >> String id = data.getId(); > > >> if(id != null) { > > >> return new VariableInfo[] { > > >> new VariableInfo(id, > > >> "com.dynabeans.wcf.util.WCFRuntimeJ2EE", > > >> true, > > >> VariableInfo.AT_END) > > >> }; > > >> } else > > >> return new VariableInfo[0]; > > >> } > > >> public boolean isValid(TagData data) > > >> { > > >> return data.getId() != null; > > >> } > > >> } > > >> > > >> > > >> _______________________________________________ > > >> Eap-list mailing list > > >> [EMAIL PROTECTED] > > >> http://www.intellij.com/mailman/listinfo/eap-list > > > > > > > > > _______________________________________________ > > > Eap-list mailing list > > > [EMAIL PROTECTED] > > > http://www.intellij.com/mailman/listinfo/eap-list > > > > > > _______________________________________________ > > Eap-list mailing list > > [EMAIL PROTECTED] > http://www.intellij.com/mailman/listinfo/eap-list > > > > _______________________________________________ > > Eap-list mailing list > > [EMAIL PROTECTED] > > http://www.intellij.com/mailman/listinfo/eap-list > > > _______________________________________________ > Eap-list mailing list > [EMAIL PROTECTED] http://www.intellij.com/mailman/listinfo/eap-list > > _______________________________________________ > Eap-list mailing list > [EMAIL PROTECTED] > http://www.intellij.com/mailman/listinfo/eap-list _______________________________________________ Eap-list mailing list [EMAIL PROTECTED] http://www.intellij.com/mailman/listinfo/eap-list
