每个jsp页面实质上都是一个servlet,tomcat本身会把jsp页面对应的URL映射到某个特定的
xml文件中,而非项目中WEB-INF下的web.xml文件,然后项目中的jsp页面编译后会形成两个文
件:一个是 .class文件 一个是 .java文件,EL表达式中就是java代码,所以当jsp页面编译开始就被
解析,直接运行,然后才返回浏览器进行解析,显示视图.
结论就是:jsp中的标签库执行是在el表达式执行后......
下面是代码解析:我使用的是java中ssm框架:1.首先在Controller层中书写网页跳转代码,跳转细节就不写了@RequestMapping("/test")
public String test(Map<String,String> map) {
map.put("name", "HELLO WORLD"); //存入一个map值,在前端取出
return "home";//springmvc中的页面解析器获取后会进行页面跳转
}
2.在jsp层测试代码
上面<script>标签中写了一个if语句,如果标签先执行的话,el表达式${name} 将不会显示出来,但是最后的结果如下:
这是跳转地址后所显示网页的源代码,大家明显的可以看出,${name}的值HELLO WORLD 打印了出来,这就说明了我上面所说的结论:EL表达式先于Jap标签先执行.