java为什么Thymeleaf从HashMap返回字符串?
我用的是百里香和春天。我有一个页面,我想在上面填充一些字段,我正在使用model.addAttribute
向页面模型传递一个Map
对象,如下所示pbObject
是一个PassbackObject
,我们用来在表单页面之间传递数据
Map<String, Object> formData = new HashMap<>();
formData.put("station", station);
pbModel.setFromPriorForm(formData);
model.addAttribute("pbObject", pbModel);
System.out.println("The station object is: " + formData.get('station'));
System.out.println("The class of the Station object is: " + formData.get("station").getClass());
这两个print语句按预期返回station
对象和org.unavco.web.response.obj.Station
,因此这里的对象类型很好
当我试图访问Thymeleaf中的Map对象时,问题就出现了
<input th:value="${pbObject.fromPriorForm.get('station').getClass()}"/>
上面的代码用class java.lang.String
填充输入字段它不是一根线!!!这是一个车站是的,它看到的是正确的数据,因为如果我删除.getClass()
,我会看到正确的数据(显然是一个字符串)。我以后需要能够访问对象属性,这样字符串就不会剪切它。为什么Thymeleaf将映射对象转换为字符串?如何使其保留原始对象类
共 (0) 个答案