Java中的EL和JSTl

来源:互联网 发布:js的初始化 编辑:程序博客网 时间:2024/06/01 10:31

Java中的ELJSTl

一.EL

 EL语法

1.“${”作为开始,以“}”作为结束

直接使用变量名获取值$

${  username }

2.变量属性范围名称

    

page

pageScope,例如${pageScope.username},表示在page范围内查找username变量,找不到返回Null

request

requstScope

session

sessionScope

application

applicationScope

 

3.EL隐式对象

 

作用域访问对象 1.PageScope    2.RequestScope   3.SessionScope   4. ApplicationScope
参数访问对象  1.param   2.paramValues
jsp隐式对象  1.pagecontext

 

RequestScope的使用:

    String name=(String)session.setAttribute("user",user);

       在会员登入后将user对象保存到session

        .jsp使用EL获取是就可以使用

        欢迎您:${sessionScope.user.name}

        其它作用域对象使用类似

Param的使用:

  在一个登陆提交页面提交后,接受的页面可以这样接受参数

   用户名:${param.uid}

密码:${param.pass}

   Param获取的是单个的参数

Paramvalues的使用:

兴趣爱好:${paramValues.ch[0]},${paramValues.ch[1]},${paramValues.ch[2]}

   Paramvalues获取的是一个集合

Pagecontext的使用:

请求的IP:${pageContext.request.remoteAddr}

   Pagecontext可以获取到请求里包含的信息

二.JSTL

   EL中不存在逻辑处理,JSTL实现JSP页面中逻辑处理,所有两者需要联合使用

  JSTL的使用前需要在网页顶部加入下面内容

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

(可能导入了这句话还是使用不了JSTL,这可能和版本有关,解决办法是在WEB-INFO目录下的lib导入两个jar包,网上可以下,我这里也有我的百度网盘的下载地址链接http://pan.baidu.com/share/link?shareid=64504&uk=909074031

 

通用标签 set   out   remove
条件标签库 if
迭代标签库 foreach

 

通用标签其实一般都用的很少,主要使用的还是条件标签迭代标签

通用标签

 Set的使用

 <c:set var= "example" value="${100+1}" scope="session"  />   

Out的使用

<c:out value="${example}"/>

Remove的使用

<c:remove var= "example" scope="session"/>

 

 条件标签

 <c:if   test="codition"    var="name"  scope="applicationArea" >

        条件符合时执行的代码

</c:if>

Condition是判断的条件

Name是判断条件的结果是truefalse

 Scope是作用域的范围

如下:

  <c:iftest="${user==null}"var="isLogin"></c:if>

  判断登陆时是否获取到了user对象的结果,如果为null的话islogin的值为true

迭代标签

   <c:forEach  items=collection 

 var="varName" varStatus="vatStatusName" begin="start"   end="end"  step="count">

      …循环体代码

</forEach>

 Items是要遍历的集合对象

Var 集合内数据的名称

Varstatus 指定var成员的信息

案例:

<c:forEachitems="${requestScope.pagelist}"var="news"varStatus="status">

      <li>${news.title}<span>时间:${news.publictime}<a href='ManageNewsServlet?type=update&id=${news.newsid}'>修改</a>

  </span></li>

每遍历5条数据后就间隔一个<li class='space'></li>

Status.index是当前变量的索引值

<c:iftest="$(status.index%5==0 && status.index>0)">

           <liclass='space'></li>

 </c:if>

</c:forEach>

原创粉丝点击