Lägga till en användningsklass

Komponenten info som den ser ut behöver ingen use-klass för att utföra sin enkla funktion. Det finns fall där du behöver göra saker som inte kan göras i HTML och där du behöver en användningsklass. Tänk på följande:

OBSERVERA
En use-klass ska bara användas när något inte kan göras i enbart HTML.

Anta till exempel att du vill att komponenten info ska visa egenskaperna title och description för resursen, men alla med gemener. Eftersom HTML inte har någon metod för att sänka radering av strängar kan du lägga till en Java-användarklass och ändra /apps/my-example/component/info/info.html enligt följande:

<div data-sly-use.info="Info">
    <h1>${info.lowerCaseTitle}</h1>
    <p>${info.lowerCaseDescription}</p>
</div>

Dessutom skapas /apps/my-example/component/info/Info.java.

package apps.my_example.components.info;

import com.adobe.cq.sightly.WCMUsePojo;

public class Info extends WCMUsePojo {
    private String lowerCaseTitle;
    private String lowerCaseDescription;

    @Override
    public void activate() throws Exception {
        lowerCaseTitle = getProperties().get("title", "").toLowerCase();
        lowerCaseDescription = getProperties().get("description", "").toLowerCase();
    }

    public String getLowerCaseTitle() {
        return lowerCaseTitle;
    }

    public String getLowerCaseDescription() {
        return lowerCaseDescription;
    }
}

Mer information finns i Java-dokumenten för com.adobe.cq.sightly.WCMUsePojo.

Nu ska vi titta på de olika delarna av koden.