Controller代码: @RequestMapping(value="selectDepts2.do") public ModelAndView findDepts2() { List<Dept> depts=deptService.getDpets(); ModelAndView mav=new ModelAndView("dept"); mav.addObject("depts", depts.get(0)); return mav; } jsp页面 则是直接通过 ${depts} 整个过程都没有报错,只是页面显示出来的就是 “${depts}” 这个字符串。。 |
|
15分 |
先将你的 “depts” 放在controller中某个域对象的属性中(requt.setattribute(“depts”,depts)),然后通过EL表达式获取
|
这个方法是可以,,,但不是可以直接让modelAndView对象放进去就行吗..? |
|
虽然不知道为什么,但是把代码换成以下就能取到了。。。
@RequestMapping(value="selectDepts2.do") public ModelAndView findDepts2() { List<Dept> depts=deptService.getDpets(); Map model=new HashMap(); model.put("depts", depts); ModelAndView mav=new ModelAndView("dept",model); return mav; } 引入错误的ModelAndView类也可能拿不到值。。 |
|
20分 |
spring的MVC是对Servlet的封装,ModelAndView中addObject应该是对request.setAttribute方法的封装,所以在jsp中如果想以el表达式来读取数据,应该用${requestScope.depts},对应于<%=request.getAttribute(“depts”)%>
|
5分 |
你先学明白怎么用JSTL标签或者怎么用EL表达式就完事了。
|
怎么算学明白..? 之前学习过了 servlet 和 jstl 的使用。也知道不同scope范围取值..但是ModelAndView是第一次使用 |
|
试过用 ${requestScope.depts} ,网页显示的还是 “${requestScope.depts}” 这个字符串… |
|
楼主 你可以试试在jsp页面上加上<%@ page isELIgnored=”false” %>看看
|
|
在jsp页面中加一句 <%@ page isELIgnored =”false” %>
|