我在为<form:textarea />标签指定默认值时遇到问题。
当我创建一个 JSP 文件时,如下所示:
<form:textarea path="Content" id="my-text-box" />${content}
Run Code Online (Sandbox Code Playgroud)
JSP 解析器将上述行转换为:
<textarea id="my-text-box" name="Content"></textarea>third hello world!
Run Code Online (Sandbox Code Playgroud)
此外,赋予value属性不起作用。
<form:textarea value="${content}" path="Content" id="my-text-box" />
Run Code Online (Sandbox Code Playgroud)
JSP 给我作为 HTML 输出:
<textarea id="my-text-box" name="Content" value="third hello world!"></textarea>
Run Code Online (Sandbox Code Playgroud)
可以看到<textarea>标签没有value属性。
如何将默认值传递给<form:textarea>标签?
先感谢您。
Spring表单标签用于数据绑定(例如,您的模型属性通过表单的属性绑定到表单path)。如果需要指定默认值,请在控制器到达视图之前将Content的属性设置为所需的默认值。ModelYouArePassingToView
如果您使用 Spring MVC 和@RequestMapping,那么您的控制器中真正适合此操作的地方就是您的@ModelAttribute方法。例如:
@ModelAttribute("modelYouArePassingToView")
public ModelYouArePassingToView createDefault() {
//construct it with default values for "Content"
//attribute, and it will show up in textarea after the bindind
ModelYouArePassingToView myapv = new ModelYouArePassingToView();
myapv.setContent(..); //default value
return myapv;
}
Run Code Online (Sandbox Code Playgroud)
在您的表单中,确保包含modelAttributetag 属性:
<form:form modelAttribute="modelYouArePassingToView" ...>
<form:textarea path="content" ..>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21925 次 |
| 最近记录: |