首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态结构,动态行为-这些都适用吗?

静态结构,动态行为-这些都适用吗?
EN

Stack Overflow用户
提问于 2012-10-31 18:33:34
回答 1查看 74关注 0票数 1

我知道周围有一些这样的问题,但我不认为他们回答了我的问题。

我想允许我的应用程序的管理员用户更改组件及其在特定页面上的顺序。因此,例如:

页面A将包含组件1、2、3页面B将包含组件4、3、2

我并不是试图在页面加载之后修改它,而是在加载之前(页面所需的结构可以例如从数据库中读取)。

这是否违反了Tapestry的静态结构?有可能做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-08 06:06:05

您可以使用块和委托组件来实现这一点。

显然,您需要处理get...Block方法的逻辑,但您应该能够弄清楚一些事情。

本例中的静态结构指的是您的标记需要声明可能呈现的所有嵌入式组件。然后,您可以使用逻辑和其他组件来决定以哪种顺序呈现哪些内容。

java:

代码语言:javascript
复制
public class MyPage
{
    @Inject
    public Block block1;
    @Inject
    public Block block2;
    @Inject
    public Block block3;
    @Inject
    public Block block4;

    public Block getFirstBlock()
    {
        return caseA ? block1 : block4;
    }

    public Block getSecondBlock()
    {
        return caseA ? block2 : block3;
    }

    public Block getThirdBlock()
    {
        return caseA ? block3 : block2;
    }
}

tml:

代码语言:javascript
复制
<...>
    <t:block t:id="block1"><t:component1 /></t:block>
    <t:block t:id="block2"><t:component2 /></t:block>
    <t:block t:id="block3"><t:component3 /></t:block>
    <t:block t:id="block4"><t:component4 /></t:block>

    <t:delegate to="firstBlock" />
    <t:delegate to="secondBlock" />
    <t:delegate to="thirdBlock" />
</...>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13155925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档