Does writting JSF custom component require J2EE?

B

byoder

I am new to JSF, and custom JSF - is J2EE (Enterprise Edition) a
requirement when creating custom JSF components? When I try to extend
UIComponentTag I get compiler error
"javax.servlet.jsp.tagext.JspIdConsumer cannot be resolved. It is
indirectly referenced from required .class files". I found this in
the J2EE API, so I know that it exists there - but I would like to use
J2SE; I will be running on Tomcat.


Here is an example of the class I am stuck on:

package jsftest;

import javax.faces.application.Application;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
import javax.faces.webapp.UIComponentTag;

public class FacesTextBoxTag extends UIComponentTag
{
// Declare a bean property for the hellomsg attribute.
public String hellomsg = null;


// Associate the renderer and component type.
public String getComponentType() { return
"com.sscims.jsfkit.TextBox"; }
public String getRendererType() { return null; }


protected void setProperties(UIComponent component)
{
super.setProperties(component);

// set hellomsg
if (hellomsg != null)
{
if (isValueReference(hellomsg))
{
FacesContext context = FacesContext.getCurrentInstance();
Application app = context.getApplication();
ValueBinding vb = app.createValueBinding(hellomsg);
component.setValueBinding("hellomsg", vb);
}
else
component.getAttributes().put("hellomsg", hellomsg);
}
}

public void release()
{
super.release();
hellomsg = null;
}


public void setHellomsg(String hellomsg)
{
this.hellomsg = hellomsg;
}
}
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

I am new to JSF, and custom JSF - is J2EE (Enterprise Edition) a
requirement when creating custom JSF components? When I try to extend
UIComponentTag I get compiler error
"javax.servlet.jsp.tagext.JspIdConsumer cannot be resolved. It is
indirectly referenced from required .class files". I found this in
the J2EE API, so I know that it exists there - but I would like to use
J2SE; I will be running on Tomcat.

JSF is part of J2EE.

You can deploy a JSF implementation on Tomcat without
anything else because Tomcat has the relevant J2EE pieces.

For development you can either find the jars in Tomcat or just
grab the J2EE SDK and use j2ee.jar.

Arne
 
B

byoder

JSF is part of J2EE.
You can deploy a JSF implementation on Tomcat without
anything else because Tomcat has the relevant J2EE pieces.

For development you can either find the jars in Tomcat or just
grab the J2EE SDK and use j2ee.jar.

Arne

Thanks Arne. I have tried adding all the jar's that come with Tomcat
5x to my classpath, but am still getting the compile error. I can try
to install Sun Java 5 J2EE (which installs sun server, ect.) and then
copy j2ee.jar into Tomcat - but should I have to do that if Tomcat
supports J2EE?
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Thanks Arne. I have tried adding all the jar's that come with Tomcat
5x to my classpath, but am still getting the compile error. I can try
to install Sun Java 5 J2EE (which installs sun server, ect.) and then
copy j2ee.jar into Tomcat - but should I have to do that if Tomcat
supports J2EE?

I quick search in my Tomcat reveals that the missing class
is part of JSF, so it should be in your JSF libs - and you should
add those to your build.

It is widely used to have j2ee.jar in classpath for build, but you
must *NOT* deploy it in Tomcat.

Arne
 
B

byoder

I am going to respond to my own question...

I have located the following directory on my PC (which contained the
jar files that I needed). In My Eclipse I just added to my classpath a
"library" called "J2EE 1.4 Library Set". Then I could compile my
custom JSF components.

C:\Program Files\MyEclipse
5.0GA\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.0.0\data\libraryset\1.4

I assume that I could install J2EE (very hevy footprint) or get these
somewhere else. But basically I find the following jars there...

activation.jar
javax.servlet.jsp.jar
javax.servlet.jar
jboss-jaxrpc.jar
jboss-j2ee.jar
jboss-jsr77.jar
jboss-saaj.jar
mail.jar
namespace.jar
xml-apis.jar

I am not sure if I have to deploy these to Tomcat, but I will let you
know.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top