У меня есть простая форма, где пользователь может выбрать значение из выбора.Я не уверен, как это работает, но если есть селекторы, указывающие на одно и то же поле в классе POJO, значение не переопределяется, а два значения разделяются запятой.Почему это происходит?Есть ли какая-либо конкатенация строк между сценами?
Это выглядит так:
<form:form action="processForm" modelAttribute="student">
First Name : <form:input path="firstName"/>
<br><br>
Last Name : <form:input path="lastName"/>
<br><br>
Country : <form:select path="country">
<form:option value="Brazil" label="Brazil" />
<form:option value="France" label="France" />
<form:option value="Germany" label="Germany"></form:option>
<form:option value="India" label="India"></form:option>
<form:option value="" label="Select" />
</form:select>
<br><br>
Country : <form:select path="country">
<form:options items="${student.countryOptions}" />
</form:select>
<br><br>
<input type="submit" value="Submit">
</form:form>
@Controller
@RequestMapping("/student")
public class StudentController {
@Value("#{countryOptionsID}")
private Map<String, String> countryOptionsProperties;
@Value("#{favoriteLanguageID}")
private Map<String, String> favoriteLanguageProperties;
@RequestMapping("/showForm")
public String showForm(Model theModel) {
theModel.addAttribute("student", new Student());
// add the country options to the model
theModel.addAttribute("theCountryOptions", countryOptionsProperties);
theModel.addAttribute("theFavoriteLanguageOptions", favoriteLanguageProperties);
return "student-form";
}
@RequestMapping("/processForm")
public String processForm(@ModelAttribute("student") Student theStudent) {
System.out.println("Student Details : " + theStudent);
return "student-confirmation";
}
@RequestMapping("/processFormA")
public String processFormA(Student student) { //without using @ModelAttribute
System.out.println("without using @ModelAttribute Student Details : " + student);
return "student-confirmation";
}
}
и свойствакак:
BR=Brazil
FR=France
CO=Colombia
IN=India
LK=Sri Lanka