1
我寫這篇文章的代碼:創建Wicket的組件嵌入文本字段及其FeedbackPanel
的Java文件:
TextField<String> input1 = (TextField<String>) new TextField<>("input1", Model.of("")).add(new UrlValidator());
TextField<String> input2 = (TextField<String>) new TextField<>("input2", Model.of("")).add(new UrlValidator());
add(new Form<>("form").add(
new FeedbackPanel("feedbackInput1").setFilter(new ComponentFeedbackMessageFilter(input1)),
new FeedbackPanel("feedbackInput2").setFilter(new ComponentFeedbackMessageFilter(input2)),
input1,
input2
));
模板文件:
<form wicket:id="form">
<!-- first -->
<div>
<wicket:panel wicket:id="feedbackInput1" />
<label for="input1">Input 1:
<input type="text" wicket:id="input1" id="input1" />
</label>
</div>
<!-- second -->
<div>
<wicket:panel wicket:id="feedbackInput2" />
<label for="input2">Input 2:
<input type="text" wicket:id="input2" id="input2" />
</label>
</div>
<div>
<button type="submit">Submit</button>
</div>
</form>
爲了避免冗餘,我想創造一個組件(例如:TextFieldWithFeedback),我可以這樣使用:
Java文件:
TextField<String> input1 = (TextField<String>) new TextField<>("input1", Model.of("")).add(new UrlValidator());
TextField<String> input2 = (TextField<String>) new TextField<>("input2", Model.of("")).add(new UrlValidator());
add(new Form<>("form").add(
new TextFieldWithFeedback("input1", "Input 1: ", input1),
new TextFieldWithFeedback("input2", "Input 2: ", input2)
));
模板文件:
<form wicket:id="form">
<!-- first -->
<div wicket:id="input1" />
<!-- second -->
<div wicket:id="input2" />
</form>
我想創建能夠管理一個TextField及其feedbackPanel一個Wicket組件,我該怎麼辦?
歡迎來到StackOverflow!在這個網站中,如果你清楚地說出什麼在你嘗試過的方面不起作用,你會得到更多相關的答案。 –
謝謝:)我嘗試使用面板,邊框,但我無法做到我想要的,所以我正在尋找正確的方式來做到這一點,或至少有一個軌道... – Calfater
爲什麼面板不起作用? – RobAu