jsp获取ModelAndView中的map

多壮志 2020-06-30 12:04:06
一个典型的ssm框架项目。

后端代码如下:

public ModelAndView toContinueEdit(HttpServletRequest request,
@RequestParam("mailId") Integer mailId
) {
ModelAndView mv = new ModelAndView("...");
Map<String,Object> param=new HashMap<String,Object>();
param.put("mail_id", mailId);
param.put("type_name", "continueEdit");
mv.addObject("param", param);
return mv;
}

前端代码如下:


<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<script type="text/javascript">
var gnMailId = '${param.mail_id}';
var gsType = '${param.type_name}';
</script>

--
web.xml配置如下:

<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID"
version="3.0">


问题:gnMailId ,gsType 获取的都是"".
...全文
5637 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
浴火_凤凰 2020-07-04
  • 打赏
  • 举报
回复
${param.name}等价于request.getParameter("name"),{param[name]}也是一样的 把param改一下名字再看看
多壮志 2020-07-01
  • 打赏
  • 举报
回复
引用 2 楼 dkwuxiang 的回复:
param 是关键字,你参数名 最好不要用 param
如果 使用 ${param.xxx} 这样是获取浏览器地址拼接的参数
moderandview 也应该是属于转发,等于获取的是你访问 controller 时url中拼接的参数

比如 控制器是 http://127.0.0.1:8080/test.do?testParam=1

return view 后 在jsp 中 ${param.testParam} 就可以获取到


这个没有注意,抽空验证下。
多壮志 2020-07-01
  • 打赏
  • 举报
回复
通过modelAndView返回 Map,和实体类没有关系。

现在不清楚是因为web.xml没有配置妥当,还是 jsp头没有写对,还是说引用的语法有毛病。
桃桃熊 2020-06-30
  • 打赏
  • 举报
回复
你的实体类没有没有写全?
dkwuxiang 2020-06-30
  • 打赏
  • 举报
回复
param 是关键字,你参数名 最好不要用 param 如果 使用 ${param.xxx} 这样是获取浏览器地址拼接的参数 moderandview 也应该是属于转发,等于获取的是你访问 controller 时url中拼接的参数 比如 控制器是 http://127.0.0.1:8080/test.do?testParam=1 return view 后 在jsp 中 ${param.testParam} 就可以获取到
a_b_a_b_a_b_a_b 2020-06-30
  • 打赏
  • 举报
回复
var gnMailId = '${param.mail_id}'; var gsType = '${param.type_name}'; 你加了引号,他肯定就给你转成字符串了。

81,087

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧