数据输出${requestScope.msg}获取不到值的解决方法


问题描述:

在controller类里面添加数据,使用EL表达式取不到值。

    @RequestMapping("/hodel01")
    public String save2(ModelMap modelMap){
        modelMap.addAttribute("msg","参数");
        return "ce.jsp";
    }

jsp

请求:${requestScope.reqParam}<br/>
pageContext:${pageScope.name}<br/>
${requestScope.msg}<br/>
request:${requestScope.msg}<br/>
session:${sessionScope.name}<br/>
application:${applicationScope.name}<br/>

解决方案:

jsp页面头部添加isELIgnored=“false”

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false"%>

"isELignored=false"的作用

JSP 2.0的一个主要特点是它支持表达语言(expression language)。JSTL表达式语言可以使用标记格式方便地访问JSP的隐含对象和JavaBeans组件,JSTL的核心标记提供了流程和循环控制功能。自制标记也有自定义函数的功能,因此基本上所有seriptlet能实现的功能都可以由JSP替代。
在JSP 2.0中,建议尽量使用EL而使JSP的格式更一致。 在web.xml的<jsp-property-group>中可以控制一组JSP是否使用EL,在每个JSP中也可以指定是否该JSP使用EL。
在page directive中的isELIgnored属性用来指定是否忽略。格式为: <%@ page isELIgnored="true|false"%> 如果设定为真,那么JSP中的表达式被当成字符串处理。比如下面这个表达式${2000 % 20}, 在isELIgnored="true"时输出为${2000 % 20},而isELIgnored="false"时输出为100。

声明:纯情阿丁|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 数据输出${requestScope.msg}获取不到值的解决方法


阿丁在Coding,等你成为我的朋友!