PageContext.setAttribute in tag file

All,
If I put the code below in a tag file, I get a whole bunch of compile errors. (If I put it in a jsp, it works fine.)
Does anyone have any idea why?
(I am using jbuilder, jsp2.0)
<%@ taglib prefix="c" uri="http://jakarta.apache.org/jstl/core" %>
<%
     String[] myStrings = new String[3];
     myStrings[0] = "coke";
     myStrings[1] = "pepsi";
     myStrings[2] = "7-up";
     pageContext.setAttribute("myStrings", myStrings);
%>
<html>
<body>
<h1>Welcome to index.jsp</h1>
<h2>Some soft drinks available are...<h2>
<c:if test="${!empty myStrings}">
<ul>
<c:forEach items="${myStrings}" var="s">
<li><c:out value="${s}" />
</c:forEach>
</ul>
</c:if>
</body>
</html>
Patrick

If I put the code below in a tag file, I get a whole bunch of compile errors. (If I put it in a jsp, it works fine.)
Does anyone have any idea why?Yes.
1. The implicit variable is jspContext
2. This jspContext variable, though referring to the PageContext object is a super class type i.e. it is of type JspContext
So you will have to cast and then use it in your tag files
PageContext pageCtx = (PageContext)jspContext;
//now use the pageCtx object.Hope that helps
cheers,
ram.

Similar Messages

  • How to get accessed to pagecontext in a tag file in JSP2.0

    I am writing a custom tag using JSP 2.0 to clean up the JSP pages for a big website.
    Now a question comes up. I need to access pageContext variable in my tag file since I need to get the bean using a lookup method. I know in JSP2.0 there is jspContext implicit object instead of pageContext. But this is not the end of the story.
    then I read Denis' post. and his solution are these two line codes:
    <%
    PageContext pageCtx = (PageContext)jspContext;
    tagBean.init(pageCtx);
    %>
    I am confused here what the tagBean here. Is that a webBean? and how can I get this object in my tag so that I could initialize the pagecontext and reference it?
    thanks in advance

    The lookup method just returned me a null. So I believe that there is
    some trick behind this simple cast.First I would double check your basic assumptions.
    Is the attribute you are looking up actually there? That would be a simpler explanation for why the lookup method returned null.
    Try a jspContext.findAttribute() , specific request/session.getAttribute() to see if you actually retrieve anything.
    Also be aware that the RequestUtils.lookup() method has been deprecated in Struts 1.2, in favour of org.apache.struts.taglib.TagUtils.lookup().
    Cheers,
    evnafets

  • Get pageContext in a tag file

    How can I get pageContext variable in a tag file? I'm trying something like
    <%tagBean.init(pageContext);%> and compiler says it cannot resolve pageContext.
    Thanks for help.
    Denis Krukovsky
    http://dotuseful.sourceforge.net/

    <%tagBean.init(pageContext);%>looks more like a jsp scriptlet rather than a tag class in which case you shouldnt be getting a compiler error as pageContext is a implicit jsp object of type javax.servlet.jsp.PageContext and hence avbl by default to all jsp pages.
    Now if you are coding a tag class and your tag extends TagSupport, pageContext is again a protected super class variable.
    However if your tag class implements the tag interface (brave path :)?), you should build the pageContext object yourself
    Cheers,
    ram.

  • Tag files for rendering JSF components

    Hi people!
         It is possible to render component JSF using Tag-Files? (WEB-INF/tags).
    I am having problems with context, seems that the JSF does not recognize pageContext.
    Ex:
    My Tag-File
    <%@ attribute name="nameproperty" required="true" rtexprvalue="true" %>
    <%@ attribute name="size"           required="true" rtexprvalue="true" %>
    <h:inputText id="${nameproperty}"      size="#{size}" />
    My JSP
    <%@ taglib tagdir="/WEB-INF/tags" prefix="mayTags"%>
    <f:subview id="id001" >
         <myTags:myText propriedade="name_test" size="30" />
    </f:subview>
    In this in case that the size always is empty, because it does not recognize the target pageContext, but if I to place the size in the target of request already recognizes.
    EX:
    <%@ attribute name="nameproperty"      required="true" rtexprvalue="true" %>
    <%@ attribute name="size"           required="true" rtexprvalue="true" %>
    <c:set var"size" value="${size}" scope="request" >
    <h:inputText id="${nameproperty}"      size="#{size}" />
    In part it decides my problem, but it causes another error, is that if in my JSP it will have two fields (this is more than common) calling tag-file, there the size placed in request is always of it I finish field.
    Ex:
    <%@ taglib tagdir="/WEB-INF/tags" prefix="mayTags"%>
    <f:subview id="paisMan" >
         <myTags:myText propriedade="name_test" size="30" />
         <myTags:myText propriedade="name_test_2" size="70" />
    </f:subview>
    In this case all the two inputText would have size 70.
    It has some thing that I can make to solve this problem?
    Thanks for any help.
    Pedro Neves - Brazil

    You are right in saying that decoding has nothing to
    do with rendering per se.I will go even further than Erik did, and dispute this statement.
    Consider that you are generating an <input> tag for a text field. Among other things, you have to generate a "name" attribute. Who decides what to put there? The renderer that actually created the markup.
    The "renderer" really does
    two completely different things. But both should
    nevertheless be separate from the component
    implementation itself. You could still have the
    renderer doing the decoding part, which arguably would
    rarely change, and somehow delegate the actual
    rendering to an implementation in a tag file.Whether you implement decoding in a separate class or inside the component, what request parameter name do you look for? It is not reasonable to assume that ALL possible renderers will choose the same parameter name ... hence, decoding and encoding are inextricably linked (the code doing the decoding has to know what kind of markup the code doing the encoding actually created). In JavaServer Faces, the current APIs create that linkage by requiring that the decode and encode be done by the same class (either the component, if you are not delegating, or the renderer if you are).
    Craig

  • WLS 9.2.2: JSP recompile for every page load with JAR'ed tag files

    I have a small custom tag library of three tag files. With the server running in development mode and the tag files in a JAR (included in WEB-INF/lib), the server appears to be doing a JSP recompile on every page load. However, it only compiles on the first page load if the tag files are included in WEB-INF/tags (no JAR). Also, running the server in production mode with the JAR'ed tag files avoids the recompile for every page load.
              Is that how the server should behave?
              For whatever it's worth, I'm also using Eclipse 3.3.2 with WTP and WebLogic Server Tools 1.1.2. The server is running the Sun JVM (1.5_10).

    Vikram,
              I went back and created a simple example to test. Below I'm posting the Java source code generated from the two relevant files: index.jsp, and hello.tag.
              __index.java:
              package jsp_servlet;
              import java.io.*;
              import java.util.*;
              import javax.servlet.*;
              import javax.servlet.http.*;
              import javax.servlet.jsp.*;
              import javax.servlet.jsp.tagext.*;
              public final class __index extends weblogic.servlet.jsp.JspBase implements weblogic.servlet.jsp.StaleIndicator {
              private static void _releaseTags(javax.servlet.jsp.tagext.JspTag t) {
              while (t != null) {
              if(t instanceof javax.servlet.jsp.tagext.Tag) {
              javax.servlet.jsp.tagext.Tag tmp = (javax.servlet.jsp.tagext.Tag)t;
              t = ((javax.servlet.jsp.tagext.Tag) t).getParent();
              try {
              tmp.release();
              } catch(Exception ignore) {}
              else {
              t = ((javax.servlet.jsp.tagext.SimpleTag)t).getParent();
              public boolean _isStale(){
              boolean stale = staticIsStale((weblogic.servlet.jsp.StaleChecker) getServletConfig().getServletContext());
              return _stale;
              public static boolean _staticIsStale(weblogic.servlet.jsp.StaleChecker sci) {
              if (sci.isResourceStale("/index.jsp", 1207926672370L ,"9.2.2.0","America/Denver")) return true;
              if (sci.isResourceStale("/null", 1207926783245L ,"9.2.2.0","America/Denver")) return true;
              return false;
              private static void _writeText(javax.servlet.ServletResponse rsp, javax.servlet.jsp.JspWriter out, String block, byte[] blockBytes)
              throws java.io.IOException {
              if (!_WL_ENCODED_BYTES_OK || _hasEncodingChanged(rsp)){
              out.print(block);
              } else {
              ((weblogic.servlet.jsp.ByteWriter)out).write(blockBytes, block);
              private static boolean _hasEncodingChanged(javax.servlet.ServletResponse rsp){
              String encoding = rsp.getCharacterEncoding();
              if ( "ISO-8859-1".equals(encoding) || "Cp1252".equals(encoding) || "ISO8859_1".equals(encoding) || "ASCII".equals(encoding) ){
              return false;
              if (_WL_ORIGINAL_ENCODING.equals(encoding)) {
              return false;
              return true;
              private static boolean WLENCODED_BYTES_OK = true;
              private static final String WLORIGINAL_ENCODING = "ISO-8859-1";
              private static byte[] _getBytes(String block){
              try {
              return block.getBytes(_WL_ORIGINAL_ENCODING);
              } catch (java.io.UnsupportedEncodingException u){
              WLENCODED_BYTES_OK = false;
              return null;
              private final static String wlblock0 ="<!--\n * $Id$\n-->\n \n<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \n\t\t\"http://www.w3.org/TR/html4/loose.dtd\">\n \n";
              private final static byte[] wlblock0Bytes = getBytes( wl_block0 );
              private final static String wlblock1 =" \n \n\t";
              private final static byte[] wlblock1Bytes = getBytes( wl_block1 );
              private final static String wlblock2 ="\n";
              private final static byte[] wlblock2Bytes = getBytes( wl_block2 );
              private final static String wlblock3 ="\n\n<html>\n<head>\n\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n\n\t<title>Tag File Test</title>\n</head>\n<body> \n\t";
              private final static byte[] wlblock3Bytes = getBytes( wl_block3 );
              private final static String wlblock4 ="\n</body>\n</html>";
              private final static byte[] wlblock4Bytes = getBytes( wl_block4 );
              static private javelin.jsp.JspFunctionMapper jspxfnmap = javelin.jsp.JspFunctionMapper.getInstance();
              public void _jspService(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
              throws javax.servlet.ServletException, java.io.IOException {
              javax.servlet.ServletConfig config = getServletConfig();
              javax.servlet.ServletContext application = config.getServletContext();
              javax.servlet.jsp.tagext.JspTag _activeTag = null;
              Object page = this;
              javax.servlet.jsp.JspWriter out;
              javax.servlet.jsp.PageContext pageContext = javax.servlet.jsp.JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true , 8192 , true );
              response.setHeader("Content-Type", "text/html; charset=ISO-8859-1");
              out = pageContext.getOut();
              javax.servlet.jsp.JspWriter _originalOut = out;
              javax.servlet.http.HttpSession session = request.getSession( true );
              try {;
              response.setContentType("text/html; charset=ISO-8859-1");
              {_writeText(response, out, _wl_block0, _wl_block0Bytes);}
              {_writeText(response, out, _wl_block1, _wl_block1Bytes);}
              {_writeText(response, out, _wl_block2, _wl_block2Bytes);}
              {_writeText(response, out, _wl_block3, _wl_block3Bytes);}
              jsp_servlet._tags.__hello_tag __tag0 = null ;
              int __result__tag0 = 0 ;
              if (__tag0== null )__tag0 = new jsp_servlet._tags.__hello_tag ();
              __tag0.setJspContext(pageContext);
              __tag0.setParent(null);
              activeTag=_tag0;
              __tag0.doTag();
              {_writeText(response, out, _wl_block4, _wl_block4Bytes);}
              } catch (Throwable __ee){
              if(!(__ee instanceof javax.servlet.jsp.SkipPageException)) {
              while ((out != null) && (out != _originalOut)) out = pageContext.popBody();
              releaseTags(activeTag);
              pageContext.handlePageException(__ee);
              __hello_tag.java:
              package jsp_servlet . _tags ;
              import java.io.*;
              import java.util.*;
              import javax.servlet.*;
              import javax.servlet.http.*;
              import javax.servlet.jsp.*;
              import javax.servlet.jsp.tagext.*;
              public final class __hello_tag extends javax.servlet.jsp.tagext.SimpleTagSupport {
              private static void _releaseTags(javax.servlet.jsp.tagext.JspTag t) {
              while (t != null) {
              if(t instanceof javax.servlet.jsp.tagext.Tag) {
              javax.servlet.jsp.tagext.Tag tmp = (javax.servlet.jsp.tagext.Tag)t;
              t = ((javax.servlet.jsp.tagext.Tag) t).getParent();
              try {
              tmp.release();
              } catch(Exception ignore) {}
              else {
              t = ((javax.servlet.jsp.tagext.SimpleTag)t).getParent();
              public static boolean _staticIsStale(weblogic.servlet.jsp.StaleChecker sci) {
              if (sci.isResourceStale("/META-INF/tags/hello.tag", 1207926783175L ,"9.2.2.0","America/Denver")) return true;
              return false;
              protected static final String tagxTagInfo = "-84,-19,0,5,116,0,5,104,101,108,108,111,116,0,29,106,115,112,95,115,101,114,118,108,101,116,46,95,116,97,103,115,46,95,95,104,101,108,108,111,95,116,97,103,116,0,5,101,109,112,116,121,112,112,112,112,119,5,0,0,0,0,3,116,0,10,106,115,112,67,111,110,116,101,120,116,119,1,0,116,0,28,106,97,118,97,120,46,115,101,114,118,108,101,116,46,106,115,112,46,74,115,112,67,111,110,116,101,120,116,113,0,126,0,4,119,1,1,112,119,2,1,0,112,112,116,0,7,106,115,112,66,111,100,121,119,1,0,116,0,36,106,97,118,97,120,46,115,101,114,118,108,101,116,46,106,115,112,46,116,97,103,101,120,116,46,74,115,112,70,114,97,103,109,101,110,116,113,0,126,0,6,119,1,1,112,119,2,1,0,112,112,116,0,6,112,97,114,101,110,116,119,1,0,116,0,31,106,97,118,97,120,46,115,101,114,118,108,101,116,46,106,115,112,46,116,97,103,101,120,116,46,74,115,112,84,97,103,113,0,126,0,8,119,1,1,112,119,2,1,0,112,112,119,4,0,0,0,0,112,112,";
              protected JspContext jspContext ;
              public void setJspContext ( JspContext ctx ){
              super . setJspContext ( ctx );
              java.util.List nested = null ;
              java.util.List atBegin = null ;
              java.util.List atEnd = null ;
              this.jspContext = new javelin.jsp.JspContextWrapper(ctx, nested, atBegin, atEnd, null);
              }public JspContext getJspContext() {
              return this.jspContext;
              private java.io.Writer jspxsout;
              private javax.servlet.jsp.tagext.JspTag _activeTag;
              private static void _writeText(javax.servlet.ServletResponse rsp, javax.servlet.jsp.JspWriter out, String block, byte[] blockBytes)
              throws java.io.IOException {
              if (!_WL_ENCODED_BYTES_OK || _hasEncodingChanged(rsp)){
              out.print(block);
              } else {
              ((weblogic.servlet.jsp.ByteWriter)out).write(blockBytes, block);
              private static boolean _hasEncodingChanged(javax.servlet.ServletResponse rsp){
              String encoding = rsp.getCharacterEncoding();
              if ( "ISO-8859-1".equals(encoding) || "Cp1252".equals(encoding) || "ISO8859_1".equals(encoding) || "ASCII".equals(encoding) ){
              return false;
              if (_WL_ORIGINAL_ENCODING.equals(encoding)) {
              return false;
              return true;
              private static boolean WLENCODED_BYTES_OK = true;
              private static final String WLORIGINAL_ENCODING = "ISO-8859-1";
              private static byte[] _getBytes(String block){
              try {
              return block.getBytes(_WL_ORIGINAL_ENCODING);
              } catch (java.io.UnsupportedEncodingException u){
              WLENCODED_BYTES_OK = false;
              return null;
              private final static String wlblock0 ="\n<center><h1>Hello World</h1></center>";
              private final static byte[] wlblock0Bytes = getBytes( wl_block0 );
              static private javelin.jsp.JspFunctionMapper jspxfnmap = javelin.jsp.JspFunctionMapper.getInstance();
              public void doTag() throws JspException, java.io.IOException {
              javax.servlet.jsp.PageContext pageContext = (javax.servlet.jsp.PageContext) getJspContext();
              javax.servlet.http.HttpServletRequest request = (javax.servlet.http.HttpServletRequest) pageContext.getRequest ();
              javax.servlet.http.HttpServletResponse response = (javax.servlet.http.HttpServletResponse) pageContext.getResponse();
              javax.servlet.http.HttpSession session = pageContext.getSession();
              javax.servlet.ServletContext application = pageContext.getServletContext();
              javax.servlet.ServletConfig config = pageContext.getServletConfig();
              javax.servlet.jsp.JspWriter out = jspContext.getOut();
              javax.servlet.jsp.tagext.JspTag _activeTag = null;
              try {
              {_writeText(response, out, _wl_block0, _wl_block0Bytes);}
              } catch ( Throwable t ){
              if( t instanceof javax.servlet.jsp.SkipPageException )
              {throw (javax.servlet.jsp.SkipPageException)t;}
              if( t instanceof java.io.IOException )
              {throw (java.io.IOException)t;}
              if( t instanceof IllegalStateException )
              {throw (IllegalStateException)t;}
              if( t instanceof javax.servlet.jsp.JspException )
              {throw (javax.servlet.jsp.JspException)t;}
              throw new javax.servlet.jsp.JspException(t);
              finally {
              ((javelin.jsp.JspContextWrapper)jspContext).syncEndTagFile();
              Edited by Stephen Davison at 04/11/2008 9:02 AM

  • JSP 2.0 tag files for rendering JSF components

    Over the weekend I read up on new JSP 2.0 features (dunno why I waited this long??) ... I really liked the tag file feature ...
    I was wondering if it were a good idea to use these tag files as renderers for JSF components - ok, this ties us to a JSP only solution but how many in here would be using a non-JSP solution anyway?
    I was thinking along the foll. lines:
    <myComponent id="myComponent1" attr1="value1" attr2=value2">
        <myComponentRenderer var="myComponent1" />
    </myComponent>
    myComponentRenderer can be implemented as a tag file in myComponentRenderer.tag ... The myComponent tag delegates the business logic processing to its associated UIComponent and then sets this component as a pageContext attribute with the id "myComponent1" ... myComponentRenderer in turn gets a reference to this UIComponent and renders it ...
    Again, if one wants a different way of rendering, make another tag file myComponentRenderer2.tag or change myComponentRenderer.tag itself ...
    Indeed, this may not work for components with complicated rendering logic but I believe that's only the 20% case ...
    Comments?
    P.S.:
    I've picked this up from http://forums.java.sun.com/thread.jsp?forum=427&thread=381052&tstart=0&trange=15
    This also compliments another topic: http://forums.java.sun.com/thread.jsp?forum=427&thread=413515&tstart=0&trange=15

    You are right in saying that decoding has nothing to
    do with rendering per se.I will go even further than Erik did, and dispute this statement.
    Consider that you are generating an <input> tag for a text field. Among other things, you have to generate a "name" attribute. Who decides what to put there? The renderer that actually created the markup.
    The "renderer" really does
    two completely different things. But both should
    nevertheless be separate from the component
    implementation itself. You could still have the
    renderer doing the decoding part, which arguably would
    rarely change, and somehow delegate the actual
    rendering to an implementation in a tag file.Whether you implement decoding in a separate class or inside the component, what request parameter name do you look for? It is not reasonable to assume that ALL possible renderers will choose the same parameter name ... hence, decoding and encoding are inextricably linked (the code doing the decoding has to know what kind of markup the code doing the encoding actually created). In JavaServer Faces, the current APIs create that linkage by requiring that the decode and encode be done by the same class (either the component, if you are not delegating, or the renderer if you are).
    Craig

  • Error in jsp tag files with jdev 101310 and oc4j standalone10130

    Hello,
    I'm creating a simple jsp tag file that show "it´s test" and a jsp with the jsp tag file,
    the problem is:
    java.lang.NoSuchMethodError: oracle.jsp.runtime.OracleJspRuntime.releaseTagHandlers(Ljavax/servlet/jsp/PageContext;)V     at oracle.jsp._tag._tagMeta_tag.doTag(_tagMeta_tag.java:71)     at admin.applicationproperties._jspService(_applicationproperties.java:56)     [SRC:/admin/applicationproperties.jsp:10]     at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.0.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:416)     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:270)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:204)     at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)     at com.gtsCol.bonPen.servlets.ApplicationPropertiesServlet.doGet(ApplicationPropertiesServlet.java:51)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)     at java.lang.Thread.run(Thread.java:595)
    my mail is [email protected]
    thansk for your help.

    Hola a todos,
    Estoy creando un jsp tag file que solo muestra un mensaje "Esto es una prueba" y la incluyo en una jsp normal, el problema es que no parece soportar este tipo de tags.
    El error que muestra es el siguiente.
    java.lang.NoSuchMethodError: oracle.jsp.runtime.OracleJspRuntime.releaseTagHandlers(Ljavax/servlet/jsp/PageContext;)V     at oracle.jsp._tag._tagMeta_tag.doTag(_tagMeta_tag.java:71)     at admin.applicationproperties._jspService(_applicationproperties.java:56)     [SRC:/admin/applicationproperties.jsp:10]     at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.0.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:416)     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:270)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:204)     at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)     at com.gtsCol.bonPen.servlets.ApplicationPropertiesServlet.doGet(ApplicationPropertiesServlet.java:51)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)     at java.lang.Thread.run(Thread.java:595)
    mi correo electronico es [email protected]
    De antemano gracias por la ayuda que me puedan brindar.

  • Recursive calls by JSP tag files fail to compile

    We're hitting an issue with recursive calls in JSP tag files. I found one unanswered post in the General forum - [Tag Files used recursivily throws exception|https://forums.oracle.com/forums/thread.jspa?threadID=853300] - and was wondering if anyone else has hit this or knows of any work-arounds/patches or knows how to raise suspected bugs with Oracle (when you don't have an official support relationship for WebLogic)?
    Example tag file - /WEB-INF/tags/recurse/hello.tag:
    <%@ tag body-content="empty" %>
    <%@ attribute name="name" required="true" type="java.lang.String"%>
    <%@ attribute name="depth" required="true" type="java.lang.Number"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="r" uri="/WEB-INF/tags/recurse/recurse.tld" %>
    <table border="1" cellpadding="3" cellspacing="3">
    <tr>
    <td>
    Hello ${name} [${depth}]
    </td>
    <c:if test="${depth > 1}">
    <td>
    <r:hello name="${name}" depth="${depth-1}"/>
    </td>
    </c:if>
    </tr>
    </table>
    Example tld file - /WEB-INF/tags/recurse/recurse.tld:
    <?xml version="1.0" encoding="UTF-8" ?>
    <taglib xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
    version="2.1">
    <description>Library with Recursive tag</description>
    <tlib-version>1.0</tlib-version>
    <shortname>r</shortname>
    <tag-file>
    <name>hello</name>
    <path>/WEB-INF/tags/recurse/hello.tag</path>
    </tag-file>
    </taglib>
    Example jsp file - /recurse/test.jsp:
    <%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=utf-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="r" uri="/WEB-INF/tags/recurse/recurse.tld" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Recursive Tag-file Test</title>
    </head>
    <body>
    <c:set var="name" value="${pageContext.request.remoteUser}"/>
    <c:set var="depth" value="${5}"/>
    <p>Welcome ${name}, here are ${depth} greetings</p>
    <r:hello name="${name}" depth="${depth}"/>
    </body>
    </html>
    The expected result from this example would be to get nested 5 HTML tables.
    The current behaviour, is the following is shown on screen when loading the test.jsp:
    Compilation of JSP File '/recurse/test.jsp' failed:
    hello.tag:15:6: Current file's JSP version conflicts with current tag "r:hello"'s.
                        <r:hello name="${name}" depth="${depth-1}"/>
    ^-----^
    hello.tag:15:6: Current file's JSP version conflicts with current tag "r:hello"'s.
                        <r:hello name="${name}" depth="${depth-1}"/>
    ^-----^
    I believe the "JSP version conflicts with current tag" message is misleading (you also get the same error referring to the tag file's folder via a tagdir reference from the JSP and defining an 'implicit.tld' which declares version="2.1"). If you take the recursive <r:hello .../> call out of hello.tag the JSP and tag file compile and function fine. I tried the work around mentioned in the forum post mentioned above, taking the recursive call out, deploying, then putting the recursive tag call back in and just updating the tag file doesn't seem to work for me.
    Using "weblogic.appc" you get a few more messages, though the issue is the same - tag file doesn't compile:
    test.jsp:15:6: The tag handler class was not found "jsp_servlet._tags._recurse.__hello_tag".
    <r:hello name="${name}" depth="${depth}"/>
    ^-----^
    test.jsp:15:14: This attribute is not recognized.
    <r:hello name="${name}" depth="${depth}"/>
    ^--^
    test.jsp:15:29: This attribute is not recognized.
    <r:hello name="${name}" depth="${depth}"/>
    ^---^
    hello.tag:15:6: The tag handler class was not found "jsp_servlet._tags._recurse.__hello_tag".
    <r:hello name="${name}" depth="${depth-1}"/>
    ^-----^
    hello.tag:15:6: Current file's JSP version conflicts with current tag "r:hello"'s.
    <r:hello name="${name}" depth="${depth-1}"/>
    ^-----^
    Happy to send this example as an ear/war for anyone that's interested.
    At this stage, WebLogic seems to be the only servlet container with this limitation.
    This has been tested with WebLogic 10.3.3.0 and 12.1.1.0.
    The context for this is that the issue is present in a (larger) enterprise application. The above simple example with recursive tags is what we have isolated as the problem.
    Although I/we may not have a support relationship for WebLogic, our clients will, so if the solution is apply an already existing patch that solution would be acceptable.

    Somethings definitely wrong with your gcc installation.
    Which gcc are you using. What output do you get from "which gcc".
    Solaris 10 ships with a gcc in /usr/sfw/bin.
    If your using a 3rd party gcc try changing your path to put /usr/sfw/bin before whereever the 3rd party gcc lives. Or just uninstall it.

  • How to properly handle Exception thrown in a .tag file?

    I've got a .jsp file that makes use of some custom tags, each defined in their own .tag file, and located in WEB-INF/tags. I'm having a lot of trouble with the scenario of cleanly dealing with an exception raised by scriptlets in either a .jsp file, and a .tag file. I'm using both Java and Tomcat 6....
    Originally, I wanted to use .tag files in order to componentize common elements that were present in .jsp pages, as well as move ugly scriptlets out of .jsp pages, and isolate them in tag files with their associated page elements.
    Things started getting hairy when I started exploring what happens when an exception is thrown (bought not handled) in a scriptlet in a .tag file. Basically, my app is a servlet that forwards the user to various .jsp pages based on given request parameters. The forwarding to the relevant .jsp page is done by calls to the following method:
    servletContext.getRequestDispatcher("/" + pageName).forward(request, response);
    Where 'pageName' is a String with the name of the .jsp I want to go to...
    Calls to this method are enclosed in a try block, as it throws both a ServletException, and IOException...
    When either my .jsp, or .tag throw an exception in a scriptlet, the exception is wrapped in a JSPException, which is then wrapped in a ServletException.
    I can catch this exception in my servlet... but then what? I want to forward to an error page, however, in the catch block, I can't forward in response to this exception, as that results in an IllegalStateException, as the response has already been committed. So what do I do? How do I get from this point, to my "error.jsp" page?
    It was suggested to me that I use the <% @ page isErrorPage="true" %> directive in my error.jsp,
    and the in my real .jsp, use <%page errorPage="/error.jsp" %>.
    This works great when the exception is thrown in my .jsp.... But when the exception is thrown in the .tag file... not so much...
    My .jsp page was rendered up until the point where the <my:mytag/> (the tag with the offending raised exception) was encountered. Then, instead of forwarding to the error page when the error in the tag is encountered, the error page is rendered as the CONTENT of of my TAG. The rest of the .jsp is then NEVER rendered. I checked the page source, and there is no markup from the original .jsp that lay below the my tag. So this doesn't work at all. I don't want to render the error page WITHIN the half of the .jsp that did render... Why doesn't it take me away from the .jsp with the offending tag altogether and bring me to the error.jsp?
    Then it was suggested to me that I get rid of those page directives, and instead define error handling in the web.xml using the following construct:
    <error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/error</location>
    </error-page>
    <error-page>
    <error-code>404</error-code>
    <location>/error</location>
    </error-page>
    For this, I created a new servlet called ErrorServlet, and mapped it to /error
    Now I could mangle the end of the URL, which causes a 404, and I get redirected to the ErrorServlet. Yay.
    However, exceptions being thrown in either a .jsp or .tag still don't direct me to the ErrorServlet. Apparently this error handling mechanism doesn't work for .jsp pages reached via servletContext.getRequestDispatcher("/" + pageName).forward(request, response) ????
    So I'm just at a total loss now. I know the short answer is "don't throw exceptions in a .jsp or .tag" but frankly, that seems a pretty weak answer that doesn't really address my problem... I mean, it would really be nice to have some kind of exception handler for runtime exceptions thrown in a scriptlet in .tag file, that allows me to forward to a page with detailed stacktrace output, etc, if anything for debugging purposes during development...
    If anyone has a few cents to spare on this, I'd be ever so grateful..
    Thanks!!
    Jeff

    What causes the exception?
    What sort of exception are you raising from the tag files?
    Have you got an example of a tag file that you can share, and a jsp that invokes it so people can duplicate the issue without thinking too much / spending too much time?
    My first instinct would be that the buffer is being flushed, and response committed before your Exception is raised.
    What you describe is pretty much standard functionality for Tomcat in such cases.

  • Issue with project having Tag File containing definition of other Tag File

    Hi Everyone,
    I have a small problem which you experts are able to help with.
    As the subject of this Post has suggested, I have a project which was originally built in NetBean 6.0 and I'm trying to migrate it across to JDeveloper 10.1.3. So far, I've managed to compiled all jsps and java source files successfully but I'm now stuck with the following error messages during building of the project in JDeveloper:
    --- START OF ERROR ---
    Error(6): Unable to instantiate tag: menu:tab (class: oracle.jsp._tag._tabmenu._tab_tag) Make sure that the tag class is available and that the tag library containing the class is not excluded from this application.
    Error(6): Unable to find class for bean: null defined by tag with class: oracle.jsp._tag._tabmenu._tab_tag
    --- END OF ERROR ---
    I believe the reason was that I have this Tag file (menu.tag) that contains definitions and references to another Tag file and here is its content:
    --- START OF TAG FILE ---
    <%@ taglib prefix="menu" tagdir="/WEB-INF/tags/tabmenu" %>
    <%@ attribute name="tab" required="true" type="java.lang.String" %>
    <jsp:useBean id="login" class="au.wa.apa.webbeans.WrsLogin" scope="session" />
    <div id="menu">
    <ul>
    <menu:tab tab="NEW" currentTab="<%=tab%>" label="New Query" tooltip="Create New Query" url="aq/adv_new_query.wrs?formMode=new"/>
    <menu:tab tab="OPEN" currentTab="<%=tab%>" label="Open Queries" tooltip="View Open/Active Queries" url="aq/adv_queries_list.wrs?view=OPEN"/>
    <menu:tab tab="CLOSED" currentTab="<%=tab%>" label="Closed Queries" tooltip="View Closed Queries" url="aq/adv_queries_list.wrs?view=CLOSED"/>
    <menu:tab tab="SEARCH" currentTab="<%=tab%>" label="Search" tooltip="Search Query" url="aq/adv_queries_search.wrs?view=OPEN"/>
    <% if (!"STAFF".equals(login.getUserType())) { %>           
    <menu:tab tab="ATTN" currentTab="<%=tab%>" label="Attention Of" tooltip="Attention Of Administration" url="aq/adv_query_attention_of_list.wrs"/>
    <% } else { %>
    <menu:tab tab="TEMP" currentTab="<%=tab%>" label="Templates" tooltip="Template Management" url="aq/adv_query_template_list.wrs"/>
    <% } %>
    </ul>
    <div class="clear"></div>
    </div>
    --- END OF TAG FILE ---
    I've this problem for several days now and have not been able to solve it and I hope you are able to help me with this problem. Thank you for time and assistance and have a nice day.
    Kind Regards,
    John

    Hi Guys,
    Do we have any workaround to this problem? Any feedback will be welcomed.
    Thanks and Regards,
    John

  • Tag files cannot be used in tag files?

    Hello,
    Is it possible to invoke tag file from other tag file in the project? Is it allowed by spec?
    1. Create empty project with JDeveloper.
    2. Create tag file tagFile1.tag using wizard.
    3. Create tag file tagFile2.tag using wizard.
    4. Drag TagFile2 tag from toolbar to tagFile1.tag in editor pane.
    tagFile1.tag is:
    <%@ taglib tagdir="/WEB-INF/tags/" prefix="tags"%>
    <%@ tag pageEncoding="UTF-8"%>
    <tags:tagFile2/>
    tagFile2.tag is:
    <%@ tag pageEncoding="UTF-8"%>
    5. Try to rebuild the project - compilation fails
    Error(3): Unable to instantiate tag: tags:tagFile2 (class: oracle.jsp._tag._tagFile2_tag) Make sure that the tag class is available and that the tag library containing the class is not excluded from this application.
    Error(3): Unable to find class for bean: null defined by tag with class: oracle.jsp._tag._tagFile2_tag
    Is it a bug of JDeveloper or OC4J or am I duing something against the spec?

    Was this issue resolved? I have getting the same error message with my custom JSP tags. It worked when I use JDev 9.0.5 but not when I moved it over to JDev 10.1.3.1
    Error(87): Unable to instantiate tag: app:checkPermissions (class: pathname.CheckPermissionsTag) Make sure that the tag class is available and that the tag library containing the class is not excluded from this application.
    Error(87): Unable to find class for bean: null defined by tag with class: pathname.CheckPermissionsTag

  • BUG OJVM does not work with tag files

    Hello,
    A.
    1. Create tag file
    2. Create JSP that uses tag file <x:xy />
    3. Deploy to OC4J 10.1.3.2.
    4. Start OC4J.
    4. Access JSP - OK.
    B.
    1. Create tag file
    2. Create JSP that uses tag file <x:xy />
    3. Deploy to OC4J 10.1.3.2.
    4. Start OC4J with OJVM.
    4. Access JSP - OK.
    C.
    1. Create tag file
    2. Create JSP that uses tag file <x:xy> </x:xy>
    3. Deploy to OC4J 10.1.3.2.
    4. Start OC4J with OJVM.
    4. Error - the JSP cannot be displayed. No message.

    user519938,
    Am I missing something?
    B and C look identical to me.
    A and D also look identical to me.
    By the way, can you not count above 4?
    Good Luck,
    Avi.

  • Spec oversight? Using dynamic-attributes in XML tag files

    I have a couple of tagfiles that generate form elements with specific conventions for the 'name' and 'value' attribute. Basically, a data binding framework.
    Dynamic attributes are useful because you can delegate all the usual html attributes to the generated HTML form element: SELECT, INPUT, id, class etc.
    The usual way to do this is to concatenate all the "pass-through" attributes to a string, and append this string to the element generated:
    <input type="hidden" name="foo" ${dynattrs}/>I'm wondering how to do this in a tagfile in XML format (mytag.tagx), since the XML format forbids syntax like in the example above.
    jsp:attribute won't help much, if it's nested inside a c:forEach: it won't apply to the right element.

    Ran into the same problem with 'optional attributes'. (see post "JSP 2.0 Tag files outputting elements with conditional attributes" http://forum.java.sun.com/thread.jspa?forumID=45&threadID=681033)
    Found a solution that is not very elegant but does work and saves you the trouble of reverting to Java Tags. Consider the following tag-file that outputs an html input-tag with conditional attributes:
    <?xml version="1.0" encoding="utf-8"?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
         xmlns:c="http://java.sun.com/jsp/jstl/core">
         <jsp:directive.attribute name="name" required="true" type="java.lang.String"/>
         <jsp:directive.attribute name="id" required="false" type="java.lang.String"/>
         <jsp:directive.attribute name="value" required="false" type="java.lang.String"/>
         <jsp:directive.attribute name="disabled" required="false" type="java.lang.Boolean"/>
         <jsp:directive.attribute name="hint" required="false" type="java.lang.String"/>
         <jsp:directive.attribute name="cssClass" required="false" type="java.lang.String"/>
         <jsp:text><![CDATA[<input type="text" name="]]><c:out value="${name}"/><![CDATA["]]></jsp:text>
         <c:if test="${!empty id}"><![CDATA[ id="]]><c:out value="${id}"/><![CDATA["]]></c:if>
         <c:if test="${!empty cssClass}"><![CDATA[ class="]]><c:out value="${disabled?(cssClass + '-disabled'):cssClass}"/><![CDATA["]]></c:if>
         <c:if test="${disabled}"><![CDATA[ disabled="disabled"]]></c:if>
         <c:choose>
              <c:when test="${!empty value}"><![CDATA[ value="]]><c:out value="${value}"/><![CDATA["]]></c:when>
              <c:when test="${!empty hint}"><![CDATA[ value="]]><c:out value="${hint}"/><![CDATA[" onfocus="if(this.value==']]><c:out value="${hint}"/><![CDATA[')this.value='';"]]></c:when>
         </c:choose>
         <jsp:text><![CDATA[/>]]></jsp:text>
    </jsp:root>In answer to your question: Yes, it looks like an oversight. Using the jsp:attribute tag in a c:forEach doesn't work because the attribute is then applied to the forEach tag. You would have to put the attribute-tag inside a jsp:body tag (inside the forEach). Then it would apply not to the forEach tag but to the tag enclosing the forEach. However, this doesn't work either, or at least it doesn't work in Tomcat 5.5. Could be a bug though, JSP 2.0 is still very buggy (for instance, using a tagfile inside another tagfile from the same taglib doesn't seem to work either...)
    Anyway, if you ever find a good solution please let me know by posting to this topic!
    TIA

  • Tag Files: dynamic attributes

    Hello,
    I'm not quite sure what the following quote means. It's from the JSP 2.0 spec.
    For dynamic-attributes attribute of Tag File:
    "Only dynamic attributes with no uri are to be present in the Map; all other dynamic attributes are ignored."

    Could someone help me here?

  • Tomcat 6.0.9 and jsf 1.2 and jstl 1.2 using *.tag file error

    I using :tomcat 6.0.9 and jsf 1.2 and jstl 1.2
    My web.xml is at version 2.5 and I am using a custom tag (with the .tag extension). I am trying to use the http://java.sun.com/jsf/html library and values from my attribute. I'm new to this so I figure I must just me missing something.
    I am run http://192.168.1.1/test.jsf laster,view:
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSP:
    Stacktrace:
         org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
         org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
         org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
         org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:212)
         org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:576)
         org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:50)
         org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:627)
         org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
         org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
         org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:631)
         org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
         org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
         org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2392)
         org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
         org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:645)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:190)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
         com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
         com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
         com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
         com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
         com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.9 logs.
    if go to /WEB-INF/tags/test.tag ,delete line: <h:outputText id="test" value="hello!" />
    run http://192.168.1.1/test.jsf is OK!(no error),So I guess error for "<h:outputText id="test" value="hello!" />" line ,why in test.tag file do can't use the "http://java.sun.com/jsf/html " library,please help me.......
    Here is file WEB-INF/web.xml content:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements. See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License. You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    -->
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
    version="2.5">
    <display-name>Welcome to Tomcat</display-name>
    <description>
    Welcome to Tomcat
    </description>
    <!-- Faces Servlet -->
    <servlet>
         <servlet-name>Faces Servlet</servlet-name>
         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
         <load-on-startup> 1 </load-on-startup>
    </servlet>
    <!-- Faces Servlet Mapping -->
    <servlet-mapping>
         <servlet-name>Faces Servlet</servlet-name>
         <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    </web-app>
    Here is file /test.jsp code:
    <%@ page contentType="text/html;charset=UTF-8" %>
    <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <f:view>
    <html>
    <head>
    <title>test</title>
    </head>
    <body>
    <!-- body start -->
    <h:outputText id="myinfo" value="test success" />
    <tags:test/>
    <!-- body end -->
    </body>
    </html>
    </f:view>
    Here is file /WEB-INF/tags/test.tag code:
    <%@tag pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <h:outputText id="test" value="hello!" />
    Thanks for any help.

    Don't know if it's important, but there is no schema avaiable at: http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd
    I found the right one at: http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
    /perty
    Message was edited by:
    perajonsson

Maybe you are looking for

  • Deploy a ear file from workshop-enabled weblogic on windows to solaris?

    Hi, I built a java ear application on my workshop-enabled weblogic in windows OS. I need to deploy it over into a solaris weblogic system. Does anyone have any idea if this is feasibe (as i was under the impression that the solaris version of weblogi

  • Opening balance for Trial balance report

    Hello  Experts, I have requirment to develop a Trial Balance report with the colum like Opening Balance, Transaction Debit,Transactoin Credit and closing balance. I am trying to get opening balance from the Table FAGLFLEXT. how can I get the opening

  • Add support for custom xmp panels

    Please add support for custom xmp panels. Thanks

  • About FM  BAPI_BUPA_CENTRAL_CHANGE update

    Hi all, I am entering an BP no in FM BAPI_BUPA_CENTRAL_CHANGE . The FM is Running but not showing any result in Return table and the data is not getting changed too.Why is it so? any ideas guys?. Please reply soon.

  • IDVD Menu Audio

    Whilst I can add audio to my top level menu it can't be heard on playback. Audio plays ok on submenus and slideshows. I'm using iDVD v7.01