You should use InheritanceValueMap to get page properties in Sling Model and Use Tag Manager to Resolve cq:tags.
@Model(adaptables = SlingHttpServletRequest.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL)
public class TagReadingFromPageProperties {
@Inject
private InheritanceValueMap pageProperties;
@Self
private SlingHttpServletRequest request;
Map<String, String> tagMap;
@PostConstruct
protected void init() {
String[] allTags = pageProperties.get("cq:tags", String[].class);
TagManager tagManager = request.getResourceResolver().adaptTo(TagManager.class);
tagMap = new HashMap<>();
for (String tags : allTags) {
Tag tag = tagManager.resolve(tags);
tagMap.put(tag.getName(), tag.getTitle());
}
}
public Map<String, String> getTagMap() {
return tagMap;
}
}
You can iterate tagMap to get list through sightly.