Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-3988

An empty tag in a custom tag-lib causes an Exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.2.8
    • 2.0.24, 2.1.18, 2.2.9
    • JSR-344
    • None

    Description

      While developing a custom tag library we added an empty renderer-type tag like this:

      <tag>
      <tag-name>myinput</tag-name>
      <component>
      <component-type>my.test.MyInput</component-type>
      <renderer-type></renderer-type>
      </component>
      </tag>

      This causes the following exception:

      Caused by: java.lang.Exception: Value Cannot be Empty
      at org.apache.myfaces.view.facelets.compiler.TagLibraryConfigUnmarshallerImpl$LibraryHandler.endElement(TagLibraryConfigUnmarshallerImpl.java:395)
      at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
      ...

      This appears to be expected based on the code in TagLibraryConfigUnmarshallerImpl. From what I can see the exception appears to be thrown on elements which are used in another spot. If any of them are empty they will throw the above exception. Wildfly/Glassfish does not have the same behavior, so my assumption is they just ignore it.

      Should the MyFaces code be modified to just continue on without the exception, based on the reference implementation? I can quickly create something if so, I just wanted to bring this up to the community at large since I don't know the reasoning behind the difference of the implementations.

      Attachments

        Activity

          People

            wtlucy Bill Lucy
            cmmeyer Christopher Meyer
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: