Java 设置textarea的模型-提交时返回null
所以我对wicket没什么意见(我对这一点不熟悉)。这是我的TextArea方法 TextArea.javaJava 设置textarea的模型-提交时返回null,java,wicket,Java,Wicket,所以我对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, visibleMod
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));
}
}
然后我试着用默认值填充我的文本区域(我想用文本填充文本区域)。所以我用了这样的想法:
IModel<String> oldNoteTemplate = Model.of("test");
noteTemplate.setModel(oldNoteTemplate)
IModel oldNoteTemplate=Model.of(“测试”);
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;
}
@Getter
私人形式;
@资料
类noteTemplateBean实现可序列化{
私有静态最终长serialVersionUID=-3498931024241308433L;
私有字符串模板;
}
并且noteTemplate变为null(noteTemplateBean.getNoteTemplate())。为什么使用javascript标记?textarea的模型变为null还是模型的内容变为null?
TextArea
(AbstractTextComponent
)的父类具有可能相关的方法setConvertEmptyInputStringToFull
。我认为模型的内容变为null。我已经添加了代码并解释了什么变为null,所以检查它,因为我可能错了。
@Getter
private Form<noteTemplateBean> form;
@Data
class noteTemplateBean implements Serializable {
private static final long serialVersionUID = -3498931024241308433L;
private String noteTemplate;
}