如何添加自定义Sling绑定?

托梅克袖子

我想使用自定义对象扩展Sling绑定,因此无需额外的努力,即可在所有JSP文件中使用它。我正在像这样实现BindingsValuesProviderOSGi服务(这不是实际的代码,但足够相似):

@Component
@Service
public class ContentBranchBindingProvider implements BindingsValuesProvider {

    @Override
    public void addBindings(Bindings bindings) {
        final Resource resource = (Resource) bindings.get("resource");
        final String[] splitPath = StringUtils.split(resource.getPath(), '/');
        bindings.put("contentBranch", splitPath[1]);
    }
}

我希望contentBranch绑定将在JSP中作为脚本变量提供:

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@include file="/libs/foundation/global.jsp"%>
Your content branch is: ${contentBranch}

但是,以上JSP不会输出内容分支,而是:

您的内容分支为:

我使用调试器来查看addBindings()调用了我的方法并将正确的值放入bindingsmap中。我该怎么做才能像${contentBranch}在JSP中一样可用

托梅克袖子

吊索绑定不会自动用作脚本变量。计划将其更改为更改它,但在当前版本的Sling中则没有。

Sling用于<sling:defineObjects/>将其自身的绑定复制到页面上下文,因此将它们公开为脚本变量,但不适用于的自定义值contentBranch

但是,由定义的脚本变量之一<sling:defineObjects/>bindings,因此您可以像这样访问新值:

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@include file="/libs/foundation/global.jsp"%>
Your content branch is: ${bindings.contentBranch}

或者,考虑编写自定义defineObjects标签。

此外,Sling绑定可以在Sightly中用作脚本值,而无需付出额外的努力:

Your content branch is: ${contentBranch}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 ToggleButton 动画上添加自定义绑定

来自分类Dev

Sling 自定义登录模块查询

来自分类Dev

将自定义绑定的值传递给自定义绑定中添加的DOM元素

来自分类Dev

如何添加自定义类型定义?

来自分类Dev

如何添加自定义类型定义?

来自分类Dev

将自定义节点类型添加到Apache Sling WebApp

来自分类Dev

如何将自定义安全绑定凭证添加到Web服务参考?

来自分类Dev

如何将自定义属性添加到用户控件以进行绑定?

来自分类Dev

如何将自定义安全绑定凭证添加到Web服务参考?

来自分类Dev

如何使用数据绑定 Linq to SQL 添加自定义字段

来自分类Dev

将自定义键绑定添加到XCode

来自分类Dev

如何添加自定义错误?

来自分类Dev

如何添加自定义字体?

来自分类Dev

如何添加自定义样式

来自分类Dev

如何添加自定义错误?

来自分类Dev

如何添加自定义字体?

来自分类Dev

如何添加自定义框阴影

来自分类Dev

如何添加自定义内核风味?

来自分类Dev

如何添加不同的自定义标题

来自分类Dev

如何让用户添加自定义注释?

来自分类Dev

ExtJS 自定义绑定

来自分类Dev

如何在 Knockout 中的自定义 bindingHandler 中绑定到自定义模板

来自分类Dev

使用自定义绑定时如何更新Knockout ViewModel

来自分类Dev

如何使用自定义模板绑定数据收集

来自分类Dev

如何更新自定义绑定中的可观察对象?

来自分类Dev

如何在AngularJS中绑定自定义事件?

来自分类Dev

如何在MVC中绑定自定义模型类

来自分类Dev

如何使用搜索绑定的自定义视图

来自分类Dev

如何使用绑定关闭此自定义模式?