2

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

sling.getService(LoginServiceClient.class)
4

1 回答 1

2

我相信您正试图LoginServiceClient在某个 servlet 中获取 OSGi 服务 ( )。如果您的 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 插件处理。

于 2012-11-02T08:38:03.157 回答