首页 > 解决方案 > 如何在java中设置html输入字段的值?

问题描述

我有两个文件。一个包含 a 的 .html<input type="text">和一个包含 java 方法的 .java。在 java 方法中,我需要设置该 html 输入的值。这样做的代码是什么?

这是我的代码。

看法

<form action="personform" method="post" th:object="${personBind}">
<input type="text" name="name" th:field="*{name}">
<input type="text" name="year" th:field="*{year}">

Spring MVC 控制器

ModelAndView modelAndView = new ModelAndView("Person.html");
modelAndView.addObject("personBind", person);
return modelAndView;

name 字段中的值来自 modelAndView 中的 person 对象。这很好用。但是 year 字段的值不在 person 对象中。我想设置来自不同来源的年份字段中的值。我应该编写什么代码来设置年份字段中的值?

标签: javaspring-mvcthymeleaf

解决方案


使用在 Controller 类中添加要在表单中填充的模型对象

    Student s = new Student("job","tyson");
    model.addAttribute("student",s);

现在您可以通过使用表单标签在表单中使用相同的对象值

<%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<html>
<head>

<title>form</title>
</head>
<body>

    <form:form action="processForm" modelAttribute="student">'
    
    First Name : <form:input path="firstName" />
    
    <input type="submit">

    </form:form>

</body>
</html>

modelAttribute 应该与控制器传递给 jsp 的模型属性相匹配,后台的 spring 将通过调用相应的 getter 方法填充表单输入。因此 FirstName 输入字段将使用 student.getFirstName() 填充,如果它为 null,则输入字段将为空白。


推荐阅读