JSTL:JSP Standard Tag Libraryb,全称:jsp标签库
通俗的说,就是嵌在jsp页面中的一些标签好比jsp中默认有<jsp:include page="index.jsp"/>
这里的<jsp:include>
再好比,<jsp:forward page="index.jsp">
这里的<jsp:forward>也是一个标签咱们曾经对标签使用比较多的场景:在Struts1.2的界面的展示上struts1.2提供了几类比较经常使用的标签,好比<html:text>,<html:form>
同类的还有bean标签,logic标签等等EL表达式,英文全称Expression Language。为了让JSP中不出现任何的Java代码,可使用JSTL标准标签库,一般JSTL须要和EL表达式一块儿使用。
EL表达式是在JSP里出现的,Struts、JSF等框架也可使用EL表达式。不过Struts 2.x改用更为强大的OGNL表达式
JSTL 1.0 发布于 2002 年 6 月,由四个定制标记库( core 、 format 、 xml 和 sql )和一对通用标记库验证器( ScriptFreeTLV 和 PermittedTaglibsTLV )组成。 core 标记库提供了定制操做,经过限制了做用域的变量管理数据,以及执行页面内容的迭代和条件操做。它还提供了用来生成和操做 URL 的标记。顾名思义, format 标记库定义了用来格式化数据(尤为是数字和日期)的操做。它还支持使用本地化资源束进行 JSP 页面的国际化。 xml 库包含一些标记,这些标记用来操做经过 XML 表示的数据,而 sql 库定义了用来查询关系数据库的操做。
OGNL全称Object-Graph Navigation Language,是一种用于读取和设置java对象属性的描述语言。WebOGNL是一种构建以servlet为基础的组件化应用的web表现层框架,它的模板语言创建在OGNL表达式的基础上,具备别的web层框架不能匹敌的适应性。 html
OGNL可让咱们用很是简单的表达式访问对象层,例如,当前环境的根对象为user1,则表达式person.address[0].province
能够访问到user1的person属性的第一个address的province属性。 java
这种功能是模板语言的一个重要补充,象jsp2.0,velocity,jelly等等,都有相似的功能,可是ognl比它们完善得多,并且以一个独立的lib出现,方便咱们构建本身的框架。 web
webwork2中使用OGNL取代原来的EL来作界面数据绑定,所谓界面数据绑定,也就是把界面元素(例如一个textfield,hidden)和对象层某个类的某个属性绑定在一块儿,修改和显示自动同步。 sql
和struts的formbean相比,这样作的好处很是明显:在webwork中不须要为每一个页面专门写formbean,能够直接利用对象层的对象。例如在对象设计中,咱们的User和Person是分开的,而一个注册用户界面须要填写二者的内容,在webwork中,就能够保持后台的对象结构,把属于用户属性的界面元素用user.person.xxx绑定,把属于帐号属性的界面元素用user.xxx绑定 数据库