也许我很愚蠢,但如何在属性值中设置列表? 例如,使用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 = ...”
答案 0 :(得分: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。