日期:2014-05-16 浏览次数:20312 次
JSP标准动作、EL表达式和JSTL
JSP标准动作、EL表达式和JSTL(JSP Standard Tag Library)都是为了实现JSP页面无脚本而提供的技术,使View层和Controller层真正分开。
?
JSP标准动作
Java提供了JSP标准动作来实现在JSP页面中调用JavaBean。
JSP标准动作在客户端请求JSP页面时执行,JSP标准动作可以使用现有的JavaBean组件和属性,以及响应用户请求跳转到另一个页面。
JSP标准动作使用<jsp:>作为前缀,其语法如下:
<jsp:userBean id="order" class="com.ch.Order" scope="request">
常用的JSP标准动作标签有:
<jsp:useBean>
<jsp:setProperty>
<jsp:getProperty>
<jsp:forward>
<jsp:include> 动态导入
?
EL表达式
当然,JSP标准动作不是万能的。JSP页面只依靠JSP标准动作是做不到页面无脚本的。JSP标准动作存在的问题是:如果JavaBean属性是String类型和基本数据类型,JSP标准动作可以实现类型的自动转换。但是如果JavaBean是一个Object类型的数据,它不能够做到类型的自动转换,还得依靠嵌套JSP页面脚本来实现。
从JSP2.0之后,可以使用EL表达式来处理这样的问题。例如:
${school.teacher.name}
无需类型转换便可以得到JavaBean封装的数据。
EL表达式语法相当简单,如下:
${EL 表达式}
EL 表达式中有点操作符和[]操作符两种操作符。"[]"操作符可以操作所有对象,"."操作符不可以操作数组对象。
?
JSTL(JSP标准标签库)
在EL表达式中只能进行逻辑运算,并不能进行逻辑控制,也就是说,使用了EL表达式,还是无法真正实现JSP页面完全无脚本。这时我们可以借助JSTL来实现。
JSTL包含用于编写和开发JSP页面的一组标准标签,它可以为用户提供一个无脚本环境。在此环境中,用户可以使用标签编写代码,而无须使用Java脚本。
JSTL标签分为两大类:核心标签库和SQL标签库。在核心标签库中又分为:通用标签、条件标签、迭代标签。