我当前的 Controller 正在返回 HTML 页面。我想发送一些可以在前端接收的数据(DTO),例如ajax响应(就像在ajax + RestController中发生的那样)。但这不是一个 RestController,它是一个返回 HTML 的普通 @controller。我不知道是否可以用html发送DTO。没有太多代码可看。我只是在寻找可行性。如果需要更多信息,请告诉我。谢谢
编辑
这里有一些代码可供引用。 login.html 是我要返回的页面。我想通过此返回发送一些附加信息(以 DTO 的形式)。
@Controller
public class LoginUserController {
@RequestMapping(value = {"/loginuser", "/loginuser?error"})
public String login() {
return "/login";
}
}
最佳答案
如果您只想返回 View ,即您的情况下的 jsp
。您可以将 DTO 对象
放入 modelMap 中并在 jsp
中使用。或者,如果您只想返回 JSON
,则只能使用 @ResponseBody .
@RequestMapping(value = {"/loginuser", "/loginuser?error"})
public String login(ModelMap model) {
YourDTO dtoObject = // get DTO;
model.put("dtoObject",dtoObject)
return "/login";
}
class YourDTO {
private int id;
private String name;
// getters setters
}
在登录 JSP 中,您可以使用dtoObject
。
Name <c:out value="${dtoObject.name}" ></c:out> // Using JSTL
或者在 Html 文件中
<input type="text" id="name" value='${dtoObject.name}'/>
关于java - 在 Spring mvc 中使用 html 文件发送 dto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59355325/