我从胸腺嘧啶开始。我只是复制了一个例子,并根据我的需要进行了调整。然而,它并不起作用。我很感激任何帮助。
标签
@Entity
public class Label {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "label_id")
private Long labelId;
private String label;
public Label() {
}
public Label(Long labelId, String label) {
this.labelId = labelId;
this.label = label;
}
public Label(String label) {
this.labelId = null;
this.label = label;
}
public Long getLabelId() {
return labelId;
}
public void setLabelId(Long labelId) {
this.labelId = labelId;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Label)) return false;
Label label1 = (Label) o;
return getLabel().equals(label1.getLabel());
}
@Override
public int hashCode() {
return Objects.hash(getLabel());
}
@Override
public String toString() {
return "Label{" +
"labelId=" + labelId +
", label='" + label + '\'' +
'}';
} }
控制器
@Controller
public class LabelController {
private NoteHandler handler;
@Autowired
public LabelController(NoteHandler handler) {
this.handler = handler;
}
@RequestMapping(value = "/savelabel", method = RequestMethod.GET)
public String showSaveLabelForm(Model model) {
model.addAttribute("labelentity", new Label());
return "labelform";
}
@RequestMapping(value = "/savelabel", method = RequestMethod.POST)
public String submitLabel(@ModelAttribute Label labelentity) {
return "result";
} }
labelForm.html
> <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> <title>Save a New Label</title> </head> <body> <h1>Form</h1>
><form action="#" th:action="@{/savelabel}" th:object="${labelentity}" method="post">
> <p>Id: <input type="text" th:field="*{labelId}" /></p>
> <p>Label: <input type="text" th:field="*{label}" /></p>
> <p><input type="submit" value="Submit" /> <input type="reset"
>value="Reset" /></p> </form> </body> </html>
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Saved Label</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Result</h1>
<p th:text="'id: ' + ${labelentity.labelId}" />
<p th:text="'label: ' + ${labelentity.label}" />
<a href="/savelabel">Save another label</a>
</body>
</html>
...
我有点不清楚为什么你会看到错误,因为当我尝试你的代码时,我得到了
org.springframework.expression.spel.spelevaluationexception:EL1007E:在null上找不到属性或字段“label id”
我怀疑差异在于您可能在清单中编辑了一些代码。
但是,这个问题与以下事实有关:在post请求控制器方法中,您有以下@modelattribute Label labelentity
,这意味着spring将向模型映射添加一个名称为Label的属性,但是您的模板引用了labelentity,因此您需要将其更改为
@modelattribute(name=“LabelEntity”)
我使用Spring boot和Thymeleaf模板引擎,并尝试使用th:classappend属性为添加可选的“has error”类 但是我有这个错误 无法使用表达式“*”绑定表单错误。请检查此表达式是否在适当的上下文中执行(例如,具有th:object属性的a) 我的控制器方法 我做错了什么?
本文向大家介绍SpringMVC实现数据绑定及表单标签,包括了SpringMVC实现数据绑定及表单标签的使用技巧和注意事项,需要的朋友参考一下 首先理解数据绑定 为什么要使用数据绑定 基于HTTP特性,所有的用户输入的请求参数类型都是String,比如下面表单: 但我们提交后,为了将请求信息映射到模型中,还需要手动进行格式转换,此外还借助了一个中转对象productForm,其字段名称和Produ
表单项: input, textarea, select 等. 使用v-model来绑定 输入项 <input v-model="my_value" style='width: 400px'/> 就可以在代码中获取到 this.my_value的值. 表单项的完整例子 <template> <div> input: <input type='text' v-model="input
本文章将介绍Thymeleaf中实现表单的语法和概念。 编辑源代码以便将产品列表中的某个数据。已经将类的对象列表设置为具有变量名称的上下文模型(参考:中的实现)。 如果要上机实践,请参考:Thymeleaf+SpringMVC5示例项目。这里不再重复创建项目的过程,这里将只介绍如何使用 Spring表达式和标签。 这里创建一个Maven Web项目: thymeleaf-tutorials ,其目
我很难将表单发回控制器,因为它应该只包含用户可以编辑的对象的arraylist。 表单加载正确,但在发布时,它似乎从未真正发布任何内容。 这是我的表格: 上面的工作正常,它正确加载列表。但是,当我发布时,它返回一个空对象(大小为0)。我认为这是由于缺少,但无论如何,这里有一个控制器POST方法: 我尝试添加一个,但不管我做什么,它都会导致异常。 我试过: 我不能访问当前客户端(编译错误),我甚至不
我有一个复选框,它在后端绑定了两个值。我的问题是,仅仅绑定了一个值,而将另一个值作为空值传递,也就是我的tmpltid。我如何在Thymleaf中绑定两个隐藏值,不用担心,我有一个getter和setter方法。我只需要把前面的值传过去。救命啊!!! 我的代码与此类似,但没有人对此给出答案