我是Sling框架的新手。有没有办法我们可以调用不同的方法。
对于前一页,我有添加,删除,编辑按钮,所以除了创建三个文件,我可以创建三个方法(添加,删除,更新)在同一文件。
请提个建议。
我尝试通过更改方法名
@Property(name = "sling.servlet.methods", value = { "getData" })但是它不起作用。
@Service
@Properties({
@Property(name = "sling.servlet.paths", value = { "getData" }),
@Property(name = "sling.servlet.methods", value = { "GET" })
})
public class getData extends SlingAllMethodsServlet {发布于 2015-11-08 01:14:27
SlingAllMethodsServlet将支持任何有效的HTTP verb作为方法,并且将调用适当的do方法来响应请求。例如,为了响应PUT请求,将调用doPut方法。
在您的示例中,如果希望servlet同时支持获取数据和创建新数据,则需要允许方法GET和POST,并实现doGet和doPost方法。
@Service
@Properties( {
@Property(name = "sling.servlet.paths", value = { "/getData" } ),
@Property(name = "sling.servlet.metods", value = { "GET", "POST" } )
} )
public class DataServlet extends SlingAllMethodsServlet {
@Override
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) { ... }
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) { ... }
}要添加、删除和编辑支持,只需支持DELETE和PUT HTTP动词,并在servlet中实现doDelete和doPut方法。
切线相关的注意事项-通过使用@SlingServlet annotation代替@Service和@Component注释,您可以缩短代码,并获得更好的自动补全和文档支持。
https://stackoverflow.com/questions/33563614
复制相似问题