所以我对wicket没什么问题(我是这个人的新手)。所以这是我的TextArea方法
TextArea.java
public class TextArea extends org.apache.wicket.markup.html.form.TextArea<String>{
public TextArea(String id, int maxLength, PageMode...visibleModes) {
this(id, null, visibleModes);
add(StringValidator.maximumLength(maxLength));
}
}
我在这里打电话
noteTemplate = new TextArea(NoteTemplatePanel.noteTemplate", 1024, PageMode.EDIT);
然后我试着用默认值填充我的textarea(我想用文本填充textarea)。所以我正在使用这样的想法:
IModel<String> oldNoteTemplate = Model.of("test");
noteTemplate.setModel(oldNoteTemplate)
这是我的HTML方面:
[...]
<td width="50%" class="editPanelRow">
<textarea wicket:id="NoteTemplatePanel.noteTemplate" rows="10" cols="60"></textarea>
</td>
[...]
所以在这里:没有上面的代码我添加模型everythink工作正常,但是当我添加这个代码时,textarea就像它应该填充但是当我保存它时,而不是文本里面我得到空值。有人知道答案吗?如果您需要更多代码,请告诉我,但我认为这已经足够了(对不起我的英语不好)。
同样在我创建Textarea的课程中,我正在使用它:
@Getter
private Form<noteTemplateBean> form;
@Data
class noteTemplateBean implements Serializable {
private static final long serialVersionUID = -3498931024241308433L;
private String noteTemplate;
}
并且noteTemplate变为null(noteTemplateBean.getNoteTemplate())。