《Beginning JSP 2: From Novice to Professional》笔记(2)

Posted by 蒋波涛 31 October,2006 Views (0)Comment

EL语言

EL语言使用${var}的方式取代了JSP表达式<%=%>中的变量部分。在${}内部的变量,可以是多种类型的,如字符串、数值型、布尔型,集合,XML文档等等。这些类型的变量都可以被赋值进行运算。如${"aaa"},${1==3};${4+5}等。总之,大家可以将EL当作是一个变量的保存器。

我们前面讲过,JSP中的变量分为四种scope,使用EL的公共参数,可以获得不同范围域的变量,如${applicationScope.var},${sessionScope.var},${pageScope.var}和${requestScope.var},这四个变量都叫var,但是处于不同的作用范围内。通常JSTL页面寻找一个变量的顺序是page、request、session和Application,在一个作用域寻找到后就停止继续寻找。

在任何一个动态页面程序中,最常见的应该是使用form来提交某些信息给逻辑页面或专门的逻辑对象来处理,而获得页面间的变量,可以使用${param.var}或${params.var}来获得。如A.JSP页面的表单提交name,age两个变量给B.JSP处理,在B页面中,获取这两个变量就是使用${param.name}和${param.age};当然,表单还可能传回两个变量名相同的参数,如多选的“兴趣爱好调查”,可能就是多个值,这个时候就可以使用${params.var}来获得。

类似<%=%>在JSP中是用来输出变量值的,在JSTL中,如果需要输出一个变量值,需要使用到core库中的标签
<c:out  value="${var}" default="aa"/ >,这个标签输出var代表的值,如果这个值不存在,则输出一个缺省值aa。

一般而言,在EL表达式中的都是变量运算过程的结果,我们往往需要将这个结果使用到不同的地方,这个时候,可以用类似下面的例子:
<c:set  var="eight" value="${2*4}" scope="session"/>

<c:set var="eight" scope="session">
    <c:out value="${2*4}"/>
</c:set>

要从某个作用域中删除某个变量也很简单:
<c:remove var="eight" scope="session"/>

Related Items

Categories : JAVA Tags : JSTL  JSP  Java  
Comments
Leave a comment

Or, take a look at Archives and Categories

目录

存档