4

从外部源加载内容的最佳方法是什么?我能想到的唯一方法是将这些数据加载到组件中,然后更新 hippo bean(参见下面的示例代码)。但是有更好的方法吗?是否有一些“河马豆后处理器”或“外部源提供者”?



    public class MyComponent extends BaseHstComponent {
        @Overrideenter code here
        public void doBeforeRender(final HstRequest request, final HstResponse response) throws HstComponentException {
            SalesDocument doc = (SalesDocument)request.getRequestContext().getContentBean();

            ExternalData externalData = externalDataSource.getExternalData(doc.getId());
            doc.setValue(externalData.getValue());

            if (doc == null) {
                response.setStatus(404);
                return;
            }

            request.setAttribute("document",doc);
        }

    }


4

1 回答 1

2

目前没有 HippoBean 后处理器或外部源提供程序。我猜在您的情况下,您想从远程系统获取一段数据,并且您想合并这两种类型的数据,以便可以将它们用作模板中的一个单元。

我认为上述解决方案可能是最简单的方法。或者,您可以将这两个对象传递给 JSP / Freemarker 模板,并在需要时单独渲染它们。

我确实认为提供这样的后处理器可能是一个有用的补充,尤其是在这些用例中。

于 2014-07-04T11:53:30.103 回答