不同的标记,但wicket中的Java代码相同?

不同的标记,但wicket中的Java代码相同?,wicket,panels,Wicket,Panels,我有一堆不同标记的面板。我想重用同一个Java类,并对其进行修改。 在一些面板中缺少一些组件,但我不想对Java类进行更改,以便为每种情况设置组件的可见性。那会有点乱。我希望重用相同的Java类,而如果标记中缺少组件,我的应用程序不会中断。 所以我认为归结起来是: 1-能否将组件添加到panel类中,然后在标记中不使用它们? 例如: Java 添加(新标签(“a”、“你好”); 添加(新标签(“b”、“hi”); 添加(新标签(“c”、“见ya”); 添加(新标签(“d”、“再见”); 你好

我有一堆不同标记的面板。我想重用同一个Java类,并对其进行修改。
在一些面板中缺少一些组件,但我不想对Java类进行更改,以便为每种情况设置组件的可见性。那会有点乱。我希望重用相同的Java类,而如果标记中缺少组件,我的应用程序不会中断。 所以我认为归结起来是: 1-能否将组件添加到panel类中,然后在标记中不使用它们?

例如:

Java
添加(新标签(“a”、“你好”);
添加(新标签(“b”、“hi”);
添加(新标签(“c”、“见ya”);
添加(新标签(“d”、“再见”);
你好
xxx
xxx
xxx
xxx
你好2.hml
xxx xxx 你好3.hml
xxx xxx 你好4.hml
xxx

我希望我的问题很清楚。

直接回答你的问题:不,Java和HTML端应该完全匹配

但是,根据具体的用例,总有一种解决方法

  • 使HTML元素从CSS或样式属性中不可见
  • 使用片段避免渲染可选位
  • 使用继承,更多功能丰富的面板扩展简单面板
  • 使组件在Java代码中不可见

  • 但我必须承认,这个问题听起来有点可疑,有可能通过更仔细地分离组件来避免整个问题。但是,如果不了解更多关于系统的信息,就很难说清楚。

    直接回答您的问题:不,Java和HTML端应该完全匹配

    但是,根据具体的用例,总有一种解决方法

  • 使HTML元素从CSS或样式属性中不可见
  • 使用片段避免渲染可选位
  • 使用继承,更多功能丰富的面板扩展简单面板
  • 使组件在Java代码中不可见

  • 但我必须承认,这个问题听起来有点可疑,有可能通过更仔细地分离组件来避免整个问题。但是如果不了解更多关于系统的信息,就很难说清楚。

    如何根据变化在Java层次结构中添加组件

    如果(“4”。等于(getVariation()){ 添加(新组件a(“a”);
    }

    根据变量在Java层次结构中添加组件怎么样

    如果(“4”。等于(getVariation()){ 添加(新组件a(“a”); }

    Java
    add(new Label("a","hello"));
    add(new Label("b","hi"));
    add(new Label("c","see ya"));
    add(new Label("d","good bye"));
    
    hello_1.hml
    <span wicket:id="a">xxx</span>
    <span wicket:id="b">xxx</span>
    <span wicket:id="c">xxx</span>
    <span wicket:id="d">xxx</span>
    
    hello_2.hml<br>
    <span wicket:id="a">xxx</span>
    <div wicket:id="d">xxx</div>
    
    hello_3.hml<br>
    <div wicket:id="a">xxx</div>
    <b wicket:id="c">xxx</b>
    
    hello_4.hml<br>
    <div wicket:id="a">xxx</div>