jsp模式-EL表达式&JSTL

什么是ElExpression language)表达式?

        在JSP开发中,为了获取servlet域对象的中存储的数据,为了简化java代码我们引入了E了表达式(jsp是html+java代码)。

语法:  ${}

四个域操作

     pageScope requestScope  sessionScopeapplicationScope

 我们获取项目名称:

    ${pageContext.request.contextPath};

EL表达式应用:

 案例分析:

      项目中我们进行查询的时候返回来一个list集合,在Servlet中向界面传递了一个集合,那么界面如何接受?

      对于返回集是list集合:

      ${list}      [x,x,x,x]      ${list[0]}  就是获取的第一个值

       对于返回集是数组         ${strs}  --输出是地址       ${strs[0]}  --输出的是在索引0处的值

       对于返回集是mp集合

          map集合中存储的的是key=value的形式     ${map.key}  可以获取value

          如果是一个实体(person)    ${person.属性}

          如果是一个实体pageBean<T>  plist 想要访问里面的 list<T>  list   那么要使用${plist.list}


    我们在做项目的过程中,我们经常查询一个字段,然后返回一个集合,然后用实体beanlist接收

          List<Category>list=caservice.findCategory();

          request.setAttribute("plist",plist);

          那么我们在jsp接收参数list的时候形式:  ${plist}

          我们想要获取实体Category中的字段cid那么我们需要: ${list.clid}

JSTL

    对返回页面的list集合我们需要循环遍历,如果想要在页面中写一些条件语句或是遍历循环等需要使用JSTL

     JSTL(JSP standar TagLibrary)

      引用包:在jsp中对JSTL进行引用:  <%@ taglibprefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

      对集合进行遍历: items="$(要遍历的集合)"    var="自定义的变量"

            <c:forEach   items="${plist}" var="product">

                  ${product.pname}

            </c:forEach>

 

在界面进行条件判断:

     <c:iftest="${plist.pageNumber < plist.pageCount}">

     </c:if>

EL表达式和JSTL让页面可以灵活的添加Java代码,方便我们对页面的操作。

相关内容推荐