是否可以更改检票口输出?
Posted
技术标签:
【中文标题】是否可以更改检票口输出?【英文标题】:Is it possible to change the wicket output? 【发布时间】:2012-05-30 05:21:54 【问题描述】:你好, 我想知道是否可以更改检票口输出 html 代码。例如对于组件“CheckBoxMultipleChoice”,您将获得以下 html 输出。
<span wicket:id="letters">
<input name="letters" type="checkbox" value="0" id="letters_0"/><label for="letters_0">fff</label><br/>
<input name="letters" type="checkbox" value="1" id="letters_1"/><label for="letters_1">aaa</label><br/>
<input name="letters" type="checkbox" value="2" id="letters_2"/><label for="letters_2">bbb</label><br/>
<input name="letters" type="checkbox" value="3" id="letters_3"/><label for="letters_3">ccc</label><br/>
<input name="letters" type="checkbox" value="4" id="letters_4"/><label for="letters_4">ddd</label><br/>
</span>
如果我不想要<br/>
标签,我该怎么办?
问候
【问题讨论】:
【参考方案1】:这取决于组件。
对于任何基于Panel
的内容,您始终可以子类化组件 (MyPanel.java
) 并提供不同的标记文件 (MyPanel.html
)。只要您在其中有相同的wicket:id
s,它就可以正常工作。
对于在其源代码中嵌入了标记元素的内置 Wicket 组件,例如 CheckBoxMultipleChoice
,您将受制于组件的自定义 API。在您的情况下,您似乎想要CheckBoxMultipleChoice#setSuffix。
【讨论】:
【参考方案2】:不,摘自documentation
组件可以更改它们的引用标签、替换标签的主体或在标签后插入标记。但是组件不能从标记流中删除标签。这是一个重要的保证,因为图形设计师可能会在组件标签上设置影响视觉呈现的属性。
但是,如果您想在组件之间添加/删除新的行间距,您可以将组件的显示更改为块/内联
@Override
protected void onComponentTag(ComponentTag tag)
super.onComponentTag(tag);
//block or inline
tag.put("style", "display:block");
或使用 CSS 类
【讨论】:
以上是关于是否可以更改检票口输出?的主要内容,如果未能解决你的问题,请参考以下文章