HTL/Sightly没有像JSP一样的64KB限制。在HTL/Sightly中,可以使用Sling Models通过Java类来处理较大的逻辑和数据操作。下面是一个示例代码:
Java类:
package com.example.models;
import javax.inject.Inject;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.models.annotations.Default;
import org.apache.sling.models.annotations.Model;
import org.apache.sling.models.annotations.Optional;
import org.apache.sling.models.annotations.injectorspecific.Self;
@Model(adaptables = Resource.class)
public class MyModel {
@Self
private Resource resource;
@Inject @Optional @Default(values="World")
private String name;
public String getMessage() {
return "Hello " + name + "!";
}
}
HTL模板:
My Page
${model.name}'s Message: {model.message}
在上面的示例中,我们使用Sling Models将逻辑和数据操作移动到Java类中,HTML模板只需使用简单的语法模板调用Java模型来生成所需的HTML代码。 通过这种方式,可以消除界限问题并提高代码可重用性和可维护性。