java - 如何在jsp中使用从spring mvc返回的Model对象

标签 java spring jsp spring-mvc

嗨,我是 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(以及所有相应的类型:ModelAndViewModelMap 等)是围绕 HttpServletRequest 属性的 Spring 抽象。

当 Spring 完成对处理程序方法的调用时,它将把收集到的所有模型属性移动到 HttpServletRequest 属性中。

您可以使用 EL 表达式在 JSP 中访问这些

${some.attribute}

但不要像这里那样尝试将 EL 放入 scriptlet

<%= "${song.artist}"%>

关于java - 如何在jsp中使用从spring mvc返回的Model对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27300722/

相关文章:

java - 选择另一个微调器后更新微调器

java - 调用bean方法primefaces jsf时托管bean字段为空

java - 未找到 H2 DB 中的序列

java - Spring roo 和用户界面

java - jsp 页面的 Doxygen?

java - 带有标记文件的自定义标记处理程序类?

java - Stream 中 "consumed"之后的 Spliterator 状态

java - 使用java将json数据加载到Spark中的Pair RDD中

java - 通过 JNA 使用 Xlib 移动窗口

spring - 如何在logback中使用请求参数作为日志标识符