将新组件放入现有组合中
Put new component inside existent composition
我是 Java 网络新手,正在学习英语...
我有多个复合组件,效果很好,例如,这段代码
<composite:interface>
<composite:attribute name="usernameValue" />
</composite:interface>
<composite:implementation>
<h:form>
<h:outputText id="username" value="#{cc.attrs.usernameValue}" />
</h:form>
当我需要使用这个组件时,我只是这样做:
<myComposite:myComponent usernameValue="My user name value"/>
这没问题。
但是,如果我需要将更多组件放入这个先前创建的组件中,该怎么办,例如:
<h:form>
<h:outputText id="username" value="My text 1" />
<p:commandButton value="New button 2"/>
<p:commandButton value="New button 3"/>
<p:commandButton value="New button 4"/>
<h:form/>
有什么方法可以做类似的事情:
<myComposite:myComponent usernameValue="This will render default inside composite output text">
<p:commandButton value="New button 1 to render inside my composite"/>
<p:commandButton value="New button 2 to render inside my composite"/>
<p:commandButton value="New button 3 to render inside my composite"/>
<myComposite:myComponent/>
我正在学习,这次我根据我将使用的组件重新创建我需要使用属性 render="true or false"
的所有合成,但这就像 XGH。
对不起我的英语,我知道我需要提高它...
提前致谢...
如果我没有正确理解你的问题,那么你想要实现的就是标签 insertChildren 的作用。
在你的例子中,它就像:
<composite:implementation>
<h:form>
<h:outputText id="username" value="#{cc.attrs.usernameValue}" />
<composite:insertChildren />
</h:form>
</composite:implementation>
然后按照您的预期使用组件:
<myComposite:myComponent usernameValue="This will render default inside composite output text">
<p:commandButton value="New button 1 to render inside my composite"/>
<p:commandButton value="New button 2 to render inside my composite"/>
<p:commandButton value="New button 3 to render inside my composite"/>
<myComposite:myComponent/>
命令按钮将放置在定义 insertChildren
标签的位置。
Here 是其用法的另一个例子。
我是 Java 网络新手,正在学习英语... 我有多个复合组件,效果很好,例如,这段代码
<composite:interface>
<composite:attribute name="usernameValue" />
</composite:interface>
<composite:implementation>
<h:form>
<h:outputText id="username" value="#{cc.attrs.usernameValue}" />
</h:form>
当我需要使用这个组件时,我只是这样做:
<myComposite:myComponent usernameValue="My user name value"/>
这没问题。
但是,如果我需要将更多组件放入这个先前创建的组件中,该怎么办,例如:
<h:form>
<h:outputText id="username" value="My text 1" />
<p:commandButton value="New button 2"/>
<p:commandButton value="New button 3"/>
<p:commandButton value="New button 4"/>
<h:form/>
有什么方法可以做类似的事情:
<myComposite:myComponent usernameValue="This will render default inside composite output text">
<p:commandButton value="New button 1 to render inside my composite"/>
<p:commandButton value="New button 2 to render inside my composite"/>
<p:commandButton value="New button 3 to render inside my composite"/>
<myComposite:myComponent/>
我正在学习,这次我根据我将使用的组件重新创建我需要使用属性 render="true or false"
的所有合成,但这就像 XGH。
对不起我的英语,我知道我需要提高它...
提前致谢...
如果我没有正确理解你的问题,那么你想要实现的就是标签 insertChildren 的作用。
在你的例子中,它就像:
<composite:implementation>
<h:form>
<h:outputText id="username" value="#{cc.attrs.usernameValue}" />
<composite:insertChildren />
</h:form>
</composite:implementation>
然后按照您的预期使用组件:
<myComposite:myComponent usernameValue="This will render default inside composite output text">
<p:commandButton value="New button 1 to render inside my composite"/>
<p:commandButton value="New button 2 to render inside my composite"/>
<p:commandButton value="New button 3 to render inside my composite"/>
<myComposite:myComponent/>
命令按钮将放置在定义 insertChildren
标签的位置。
Here 是其用法的另一个例子。