如何在java类中使用sling对象

时间:2012-11-02 07:56:01

标签: java jsp servlets sling

如何在java类(Servlet)中使用sling对象,我可以在jsp文件中使用它。我们可以在java文件中使用它吗? 像这样在Java类中:

sling.getService(LoginServiceClient.class)

1 个答案:

答案 0 :(得分:2)

我相信你正试图在某个servlet中获得OSGi服务(LoginServiceClient)。如果您的servlet也由OSGi管理(因此它带有@Component注释),那么您可以使用依赖注入来获得您想要的任何服务:

@Component(immediate = true)
@Service
@Properties({
    @Property(name = ServletResolverConstants.SLING_SERVLET_PATHS, value = "/my/servlet/path"),
    @Property(name = ServletResolverConstants.SLING_SERVLET_METHODS, value = { HttpConstants.METHOD_GET })
})

public class MyServlet extends SlingSafeMethodsServlet {
    @Reference
    LoginServiceClient loginServiceClient;
...
}

所有这些注释都由Maven SCR plugin处理。