为什么jsp可以读取java中的数据
展开全部
因为jsp本质上就是servlet,提供了访问request、session、context三大域对象,用来对java(姑且认为你说的是controller层)与jsp(页面)之间的数据交互。
reqest:
在jsp页面中,在java脚本片段中可以用request.getattribute("xx")获取servlet转发时候传过来的参数。因为转发属于同一次请求。一次请求的参数会存在request域中。你可以这样去取。
如果是重复定向,你可以拼接参数,jsp页面用request.getparameter()可以去取。
session:
只要你在java程序中声明,在jsp页面中,java脚本片段中可以用request.getsession("xx"),就可以获取取。无论是转发还是重定向。因为session的作用在本次会话
context
即applicationContext作用域,作用于整个网站。一般不用
你使用el表达式${xx},其实就是request.getattribute("xx")或request.getsession("xx"),只是jsp给你封装了。不用你这么麻烦的去写
reqest:
在jsp页面中,在java脚本片段中可以用request.getattribute("xx")获取servlet转发时候传过来的参数。因为转发属于同一次请求。一次请求的参数会存在request域中。你可以这样去取。
如果是重复定向,你可以拼接参数,jsp页面用request.getparameter()可以去取。
session:
只要你在java程序中声明,在jsp页面中,java脚本片段中可以用request.getsession("xx"),就可以获取取。无论是转发还是重定向。因为session的作用在本次会话
context
即applicationContext作用域,作用于整个网站。一般不用
你使用el表达式${xx},其实就是request.getattribute("xx")或request.getsession("xx"),只是jsp给你封装了。不用你这么麻烦的去写
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询