首页 新闻 会员 周边

jsp使用EL表达式获取不到值

0
悬赏园豆:30 [已解决问题] 解决于 2017-12-10 21:19

问题描述:在controller用ModelAndView传值到jsp页面,jsp页面使用${user2}获取不到值。(项目是maven项目)

 

请问一下这是什么情况呀,在网上找了很久,还是没找到答案。

这是controller部分

@RequestMapping("/list")
    public ModelAndView queryUserList() {
        List<User> userList = userService.queryUserList();
        User user2 = userList.get(0);
        for (User user : userList) {
            System.out.println("name="+user.getName());
        }
        ModelAndView model = new ModelAndView();
//        model.addAttribute("user2", user2.getName());
        model.addObject("user2", user2.getName());
        model.setViewName("my");
        
        ModelMap modelMap = model.getModelMap();
        String str = (String) modelMap.get("user2");
        System.out.println("user2 = "+str);
        return model;
    }

这是jsp部分

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script src="../js/jquery-3.2.1.min.js"></script>
<script>
    window.onload = function() {
        
        getUserList();
    }

    function getUserList() {
        var s = "${pageContext.request.contextPath}/user/list";
        console.log(s);
        
        $.post("${pageContext.request.contextPath}/user/list", function(
                data) {
            alert("aa:"+data);
        }, "json");
    }
</script>


</head>
<body>
        ${user2}
</body>

 

这是web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
studyBlogs的主页 studyBlogs | 初学一级 | 园豆:179
提问于:2017-12-09 21:42
< >
分享
最佳答案
0

在引入的部分加个东西就可以了,我忘了引入什么来着

收获园豆:30
会吃猫的鱼 | 菜鸟二级 |园豆:249 | 2017-12-10 11:10

是<%@ page    isIgnoreEl="false" %>这个吗?

studyBlogs | 园豆:179 (初学一级) | 2017-12-10 12:22

@studyBlogs 是的,你试一下,可以么?

会吃猫的鱼 | 园豆:249 (菜鸟二级) | 2017-12-10 12:23

@会吃猫的鱼 <%@ page isELIgnored="false" %>

会吃猫的鱼 | 园豆:249 (菜鸟二级) | 2017-12-10 12:24

@studyBlogs <%@ page isELIgnored="false" %>

会吃猫的鱼 | 园豆:249 (菜鸟二级) | 2017-12-10 12:24

@会吃猫的鱼: 我昨天好像试了,没用,我今天再试试

studyBlogs | 园豆:179 (初学一级) | 2017-12-10 12:26

@studyBlogs <%@ page isELIgnored="false" %>这个吧?

会吃猫的鱼 | 园豆:249 (菜鸟二级) | 2017-12-10 12:27

@studyBlogs 手机不好使,粘贴不出来,isELIgnored=false

会吃猫的鱼 | 园豆:249 (菜鸟二级) | 2017-12-10 12:28

@会吃猫的鱼: 刚试了,没有作用

studyBlogs | 园豆:179 (初学一级) | 2017-12-10 12:29

@会吃猫的鱼: 如果不是maven项目,那个el表达式是有作用的,但在maven项目中不知道为什么不行,是不是少了什么东西?

studyBlogs | 园豆:179 (初学一级) | 2017-12-10 12:30

@studyBlogs 你把pom的依赖在网上找一个放进去试试,底下加个build,你百度一下。

会吃猫的鱼 | 园豆:249 (菜鸟二级) | 2017-12-10 12:31

@会吃猫的鱼: 这是jsp页面代码:

<body>
        aaaa:${user.id}
        aaaa:${a}
</body>

这是控制台response信息:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script src="../js/jquery-3.2.1.min.js"></script>
<script>
    window.onload = function() {
        
        getUserList();
    }

    function getUserList() {
        var s = "/user/list";
        console.log(s);
        
        $.post("/user/list", function(
                data) {
            alert("aa:"+data);
        }, "json");
    }
</script>


</head>
<body>
        aaaa:1
        aaaa:jjj
</body>
</html>

在控制台中有数据,页面上没有

studyBlogs | 园豆:179 (初学一级) | 2017-12-10 12:37

@studyBlogs: pom文件里的jstl的依赖加了吗?

会吃猫的鱼 | 园豆:249 (菜鸟二级) | 2017-12-10 12:45

@会吃猫的鱼: 加了

studyBlogs | 园豆:179 (初学一级) | 2017-12-10 12:49
其他回答(1)
0

modelMap里面有user2么?

put方法不需要么?modelMap.put("user2",user2.getName());

〃微笑的恶魔 | 园豆:234 (菜鸟二级) | 2017-12-10 02:09

model.addObject("user2", user2.getName());这里已经赋值了

支持(0) 反对(0) studyBlogs | 园豆:179 (初学一级) | 2017-12-10 08:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册