IBM Support

PI18016: JSF MyFaces Incorrectly Prefixing External Namespace to IDs

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • JSP 1.2 Portlet on WebSphere Portal 8 implementation as
    MyFaces generates incorrect markup
    
    
    Facelet page is generated on WebSphere Portal 8 without any
    problem, but portlet with jsp page generates span tags .
    
    <span
    id="viewns_Z7_I2M6H2O0JG4F10AON0UP2H1043_:ns_Z7_I2M6H2O0JG4F10AO
    N0 UP2H1043_j_id1">
    <p>First paragraph.</p>
    <p>
    </span>
    <span id="viewns_Z7_I2M6H2O0JG4F10AON0UP2H1043_:text1"
    class="outputText">Hello this is jsp page!</span><span id="
    viewns_Z7_I2M6H2O0JG4F10AON0UP2H1043_:
    ns_Z7_I2M6H2O0JG4F10AON0UP2H1043_j_id2">
    </p>
    <p>Last paragraph.</p>
    </span>
    
    The current behavior is to prefix the portlet namespace to
    component IDs, which causes JSF to render unnecessary span
    tags (because it thinks that the ID attribute should be saved.)
    

Local fix

  • This issue is fixed with a change to the unique
    ID generation code in MyFaces
    Disabling that prefixing stops the incorrect span rendering.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server Full       *
    *                  Profile versions 8.0 and 8.5.5 and Liberty  *
    *                  Profile version 8.5.5 users of JavaServer   *
    *                  Faces(JSF) MyFaces.                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: When using WebSphere Portal Server      *
    *                      with JSF MyFaces, certain rendered      *
    *                      elements are improperly wrapped in      *
    *                      span tags.                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When using WebSphere Portal Server with JSF MyFaces, elements
    (such as plain HTML) can be assigned incorrect unique
    IDs - which cause MyFaces to render span tags around the
    elements.  For example,
    <p>Text</p>
    might be rendered as
    <span id="viewns_some_id_:j_id_1"><p>Text</p></span>
    which is incorrect.
    This problem was caused by MyFaces prefixing external
    namespace IDs to unique IDs.
    

Problem conclusion

  • The JSF MyFaces code was updated to assign unique IDs properly.
    To enable this behavior, set the following context parameter
    to "true": com.ibm.ws.jsf.DISABLE_UNIQUE_ID_NAMESPACE_ENCODING
    (true/false-default).
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 8.0.0.10 and 8.5.5.4.  Please refer to the
    Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI18016

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-05-15

  • Closed date

    2014-06-23

  • Last modified date

    2014-06-23

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R800 PSY

       UP

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022