0

如何在属性值中设置列表?例如,使用felix scr注释,Servlet 看起来有点像这样:

@Component(metatype = false)
@SlingServlet(
 methods = { "GET", "POST" },
 resourceTypes = "sling/servlet/default",
 selectors = { "size" },
 paths = { "/some/stupid/path/.*" }

使用新的 osgi 服务注释

@Component(service = Servlet.class,
    property = { 
     "sling.servlet.methods=GET",
     "sling.servlet.methods=POST",
     "sling.servlet.resourceTypes=sling/servlet/default",
     "sling.servlet.selectors=size",
     "sling.servlet.paths=/some/stupid/path.*" })

如何将其设置servlet.methods为列表?诚然,在这个例子中这不是什么大问题,但是我有一个在很多选择器上激活的 Servlet,我真的不想有 20 行sling.servlet.selectors=...

4

1 回答 1

2

来自javadoc:To specify a property with multiple values, use multiple name, value pairs. For example, "foo=bar", "foo=baz".所以你所拥有的应该sling.servlet.methods是一个数组[GET,POST]

通过允许注释设置属性值,对未来 DS 1.4 规范的支持应该使这更容易。请参阅RFC 222中的 5.10 。

于 2016-12-20T18:17:40.327 回答