의도 한대로 작동하도록 일부 속성 (런타임 중에 사용자가 설정 함)이 필요한 구성 요소로 작업하고 있습니다.Java 클래스에서 구성 요소 속성에 액세스하는 방법
초기에는 properties.get('foo')
을 사용하여 구성 요소에서 필요한 속성을 가져 왔지만 구성 요소 JSP 파일에서 스크립트 추적 코드의 모든 흔적을 제거하려고합니다.
Java 코드 내에서 'foo'(런타임에 구성 요소에 설정 됨) 속성을 가져 오는 방법은 무엇입니까? 나는 valueMap과를 사용하는 것이 가장 좋은 방법이라고 어딘가에서 읽은 기억, 그래서 나는 이것을 사용하여 시도 : -
public static Map<String, Object> getResourceProperties(String path,
SlingHttpServletRequest request) {
ResourceResolver resourceResolver = request.getResourceResolver();
Map<String, Object> props= new HashMap<String, Object>();
Resource resource = resourceResolver.getResource(path);
if (null != resource) {
props.putAll(resource.adaptTo(ValueMap.class));
}
return props;
}
이 내 JSP에서 : - <c:set var="refProperties" value="${xyz:getResourceProperties(properties.path,slingRequest)}" />
을하지만 이것은 내가 원하는 값을 반환하지 않습니다.
동의 ... 이것은 가장 간단한 방법입니다. 왜 내가 이것을 사용하지 않았는지 모르겠다. 왜 더 나쁜가는 내가 글로벌하게 들여다 보았다.jsp 그리고 이것이 내가'resource'를 사용하여 속성에 접근하는 방법을 발견 한 곳입니다. – bongman1612