sevlet在处理完浏览器发送的请求之后有时候需要返回数据给浏览器,但是往往需要向浏览器拼接一个网页进行发送,这样极大的增加了开发人员的工作,因此sun公司开发出jsp来简化服务器向浏览器发送数据。jsp可以理解为一个可以写java程序html,并且会在第一次接受请求时转译成servlet。
jsp自身提供三种标签来嵌入java代码。
1.<%= 变量名 %>
2.<% java代码 %>
3.<%! 方法或变量 %>
用这这三种标签时,jsp文件中既有服务器代码也有前端代码,耦合度高,后期维护困难。因此需要把前后台尽可能分离,那么就有了现在的jsp+servlet方式,即jsp中只写前端代码,业务逻辑放到后台servlet中写,需要用到后台数据时,用el表达式来取即可。那么el表达式怎么来取服务器发送的数据呢?
el表达式采用统一的格式${ }来获取服务器的数据,当然服务器需要用到request.setAttribute("key",value)先将数据封装好,jsp中就可以使用${key }来取值了。如果value是一个JavaBean对象,那么el可以使用${key.属性名 }或${key["属性名"] }取值。
el表达式也可以取请求参数的值,此时需要用到jsp的内置对象param,即${param.name },name是请求参数名。