嗨,我是 Spring mvc 新手。我在我的 Controller 之一中使用 ModelAndView 作为返回对象。 我不明白如何访问返回到 jsp 进行显示的 Model 对象。 这是我的代码:
@Controller
public class GetSongServlet extends HttpServlet {
@RequestMapping(value = "/getSong", method = RequestMethod.GET)
public ModelAndView getSong(@RequestParam(value = "songTitle", required = false) String
title) {
MusicPlayerService service = MusicPlayerServiceImpl2.getInstance();
try {
Song song = service.getSong(title);
System.out.println(song.getSongId());
// request.setAttribute("song", song);
/*
* RequestDispatcher requestDispatcher = request
* .getRequestDispatcher("viewSong");
* requestDispatcher.forward(request, response);
*/
return new ModelAndView("viewsong", "song", song);
}
}
<input type="text" class="form-control focusedInput" id="title"
value=<%="${song.title}"%> name="title" disabled />
<input type="text" class="form-control focusedInput" id="album"
value=<%= "${song.album.albumName}"%> name="album" disabled />
<input type="text" class="form-control focusedInput" id="artist"
value=<%= "${song.artist}"%> name="artist" disabled />.........
public class Song{
private int songId;
private Album album;
private String title;
private int rating;
private String artist;
private String composer;
private Genre genre;
}
最佳答案
您不通过 JSP 访问模型。 Model
(以及所有相应的类型:ModelAndView
、ModelMap
等)是围绕 HttpServletRequest
属性的 Spring 抽象。
当 Spring 完成对处理程序方法的调用时,它将把收集到的所有模型属性移动到 HttpServletRequest
属性中。
您可以使用 EL 表达式在 JSP 中访问这些
${some.attribute}
但不要像这里那样尝试将 EL 放入 scriptlet
<%= "${song.artist}"%>
关于java - 如何在jsp中使用从spring mvc返回的Model对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27300722/