【问题标题】:how to access a ModelAndView object within the jsp page如何在 jsp 页面中访问 ModelAndView 对象
【发布时间】:2011-04-13 20:25:46
【问题描述】:

我的控制器中有这样的代码。

ModelAndView result = new ModelAndView("person/sometrends");  
result.addObject("data", data);  // data -> Map

在我的 JSP 页面中,我编写了一些依赖于数据对象的 Java 代码。 如何在 JSP 代码中获取该数据对象?

我试过这样的东西(伪代码)。

<%
    Map x = ${data};
%>

但这不起作用。不知道如何访问它。

【问题讨论】:

    标签: spring-mvc


    【解决方案1】:

    让我更具体地说,如果您想使用jsp 而不是jstl 来访问Model,您可以这样做:

    <% Map x = (Map)request.getAttribute("data") %>
    

    【讨论】:

      【解决方案2】:

      试试&lt;% String username = (String)request.getAttribute("data"); %&gt;

      【讨论】:

        【解决方案3】:

        包括:&lt;%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%&gt;

        然后……

        <%
            Map x = ${data};
        %>
        

        【讨论】:

          【解决方案4】:

          试试这个:

          request.getAttribute("data")
          

          【讨论】:

            【解决方案5】:

            在 scriptlet 中,您可以像这样使用请求对象:

            &lt;% Map myMap = (Map) request.getAttribute("data"); %&gt;

            如果您想使用 JSTL 之类的东西而不是 scriptlet,您可以这样做:

            <c:forEach var="entry" items="${data}">
            Name:  ${entry.key} <br/>
            Value: ${entry.value} <br/>
            </c:forEach>
            

            正如 Davemeister 和新手指出的那样,在 scriptlet 中结合 EL 是您的错误的根本原因。

            【讨论】:

            • 我们怎样才能在class(即弹簧控制器)中获得一个jsp变量(即一个文本区域输入),其函数返回一个ModelAndView对象?
            【解决方案6】:

            在 scriptlet 中使用表达式语言将是原因。

            【讨论】:

              猜你喜欢
              • 2018-09-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-05-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多