Bug: Invalider Java-Code durch berechnete Tag-Attribute

António A Ramos hat einen interessanten Bug entdeckt: Werden die Attribute eines HTML-Tags im Designer berechnet, wird die XPage nicht mehr verarbeitet und ein Internal Server Error tritt auf

So wird der folgende HTML-Tag ordnungsgemäß gerendert…

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
   <li data-theme="e"></li>
</xp:view>

… jedoch ist eine Berechung nicht zulässig:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
   <li data-theme="#{javascript:'e'}"></li>
</xp:view>

Der Grund ist dabei die Umsetzung in den Java-Code, denn dieser verwendet das Attribute ungeprüft als Variablenname – was natürlich fehl schlagen muss.

So sieht der generierte Java-Code aus:

Ein Workaround ist, den generierten Java-Code direkt im Designer zu ändern und fehlerhafte Variablendeklaration von Hand zu bereinigen – allerdings muss der Vorgang nach jedem Build wiederholt werden.

Dieser Beitrag wurde unter Allgemein, Bug, Expression Language, Java, ServerSide JavaScript, XPages abgelegt und mit , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

4 Antworten zu Bug: Invalider Java-Code durch berechnete Tag-Attribute

  1. Thanks for your reply, but as far as I know the disableOutputTag is not available for com.ibm.xsp.component.UIPassThroughTag, even in 8.5.3.
    This option is only available for Panels, Repeat Controls and Output Text.

    And attributes cannot be added via attrs-property because it is not an xp:Element.

    Or did I miss something?

  2. Fredrik sagt:

    You wrote something about changing the code directly in the designer.
    An article on how to åick code from the generated javacode and use this to create generated pages using java code directly would be interesting if you can do this.

    Thansk for great articles.
    /Fredrik

  3. Fredrik sagt:

    You wrote something about changing the code directly in the designer.
    An article on how to create code from the generated javacode and use this to create generated pages using java code directly would be interesting if that is possible to do.

    Thank for great articles.
    /Fredrik

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert