有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案