el表达式与jstl的用法

简介: el表达式与jstl的用法



课上顺便整理了下java中的El表达式和jstl的用法,下面以举例的方式来阐述各个标签的作用:

一、 使用el表达式将Map集合中的数据显示出来:

先给Map集合里面放一些数据库,通过EL表达式显示在页面中:

<%
              Map names = new HashMap();
              names.put("one",1);
              names.put("three",3);
              names.put("two",2);
              //将集合放在request的作用域中
              //request.setAttribute("names", names);
       %>

使用el表达式将Map集合中的数据显示出来:${names.one}

运行结果为:1

二、.el表达式的关系运算符:

1.==: ${2==3 }<br/>           <!-- 输出false -->
2.>=: ${2>=1}<br/>          <!-- 输出true -->   
3.!=: ${2!=2 }<br/>          <!-- 输出false -->
4.eq: ${"111" eq "111"}<br/>  <!-- 输出true -->

三、el表达式的逻辑运算符:

1.&&:  ${2==2 && 2==3 }<br/>    <!-- 输出false -->
    2.||:  ${2==2 || 2==3 }<br/>    <!-- 输出true -->
    3.!或者not :${not (2==2) }<br/> <!-- 输出false -->

四、获取后台传的值:

先写一个注册的页面reg.jsp,代码如下:

<body>
     <h1>注册信息</h1>
     <form action="regServlet" method="post">
         用户名:<input type="text" name="uname"/><br/>
         性别:<input type="text" name="usex"/><br/>
         电话:<input type="text" name="uphone"/><br/>
         <input type="submit" value="提交"/>
     </form>
  </body>

可以看到该注册页面的表单提交到的是regServlet类,接下来看regServlet类的代码:

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        request.setCharacterEncoding("utf-8");
        //获取信息
        String uname = request.getParameter("uname");
        String usex = request.getParameter("usex");
        String uphone = request.getParameter("uphone");
        //将获取到的值放在实体类的对象里面
        User user = new User();
        user.setUname(uname);
        user.setUphone(uphone);
        user.setUsex(usex); 
        //调用实现类的方法(这儿暂时不演示)
        //将对象放在request作用域里面
        request.setAttribute("user",user);
        //转发到index.jsp页面
        request.getRequestDispatcher("index.jsp")
                            .forward(request, response);
    }
    //调用DoGet()方法
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

在index.jsp使用el表达式获取后台值的代码:

用户名:${user.uname }<br/>
      性别:${user.usex }<br/>
      电话:${user.uphone }<br/>

运行结果如图所示:

五、jstl的案例演示:

(使用jstl之前,需要在最上方将jstl的标签库导入到jsp页面中),代码是:

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

jstl的标签用法如下:

  1. set的用法(设置作用域的值):
<c:set var="info" value="张s三" scope="session"/>
      <br/>
      (1)var:设置的变量名
      (2)value:值
      (3)scope:作用域
      <br/>
       获取c:set里面的值:${info}

运行结果如图所示:

2.out:(将结果输出显示):

<c:out value="${infos}" default="李四"/>
      <br/>
      value:需要显示的值,里面可以放一个el表达式<br/>
      default:如果el表达式里面未取到值,则显示defalut的值

运行结果如图所示:

3.remove:移除指定作用域里面的值:

<c:remove var="info"/>
      将值移除掉的时,重新获取info的值:${info}

运行结果如图所示:

4.jstl的条件标签库:

<c:if test="${2==2}">
          <h2>进来了if语句</h2>
      </c:if>

运行结果如图所示:

5.choose的用法,相当于java中的if-else:

<c:choose>
         <c:when test="${2==3 }">
             <h2>2与3相等</h2>
         </c:when>
         <c:otherwise>
             <h2>2和3不相等</h2>
         </c:otherwise>
     </c:choose>

运行结果如图所示:

6.迭代标签库:

<%
             List<User> uList = new ArrayList<User>();
             User u = new User();
             u.setUid(1);
             u.setUname("张三");
             u.setUsex("男");
             u.setUphone("110");
             User u1 = new User();
             u1.setUid(2);
             u1.setUname("李四");
             u1.setUsex("女");
             u1.setUphone("230");
             //给集合里面添加信息
             uList.add(u);
             uList.add(u1);
             //将集合放在requset作用域里面
             request.setAttribute("uList",uList);
          %>
        显示集合里面的数据:
        <br/>
        <c:forEach items="${uList }" var="user" varStatus="sta">
            编号:${user.uid}<br/>
            用户名:${user.uname}<br/>
            性别:${user.usex}<br/>
            电话:${user.uphone}<br/>
            <hr>
        </c:forEach>    
         <br/>
         1.var:变量名。<br/>
         2.items:request作用域里面的键<br/>
         3.varStatus:索引

运行结果如图所示:

猜你想买

温馨提示

如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。

往期内容更精彩哦~


相关文章
|
6月前
EL表达式和Jstl常见的用法
EL表达式和Jstl常见的用法
|
XML SQL Java
EL表达式和JSTL
EL表达式和JSTL
105 0
|
6月前
|
机器学习/深度学习 算法 前端开发
深入浅出剖析EL表达式和JSTL
深入浅出剖析EL表达式和JSTL
47 0
深入浅出剖析EL表达式和JSTL
|
Java 数据安全/隐私保护
EL表达式&JSTL标签库2
EL表达式&JSTL标签库2
55 0
|
JavaScript Java 应用服务中间件
EL表达式&JSTL标签库1
EL表达式&JSTL标签库1
49 0
|
XML SQL Java
JavaWeb--EL表达式&JSTL 标签库
JavaWeb--EL表达式&JSTL 标签库
70 0
QGS
|
存储 SQL XML
浅谈EL表达式和JSTL常用标签
EL表达式,全称是Expression Language。意为表达式语言。它是Servlet规范中的一部分,是JSP2.0规范加入的内容。其作用是用于在JSP页面中获取数据,从而让我们的JSP脱离java代码块和JSP表达式。
QGS
96 0
|
前端开发 Java
JSP简介&&EL表达式&& JSTL
JSP简介&&EL表达式&& JSTL
JSP简介&&EL表达式&& JSTL
|
存储 Java
【JavaWeb】之JSTL & EL表达式(下)
【JavaWeb】之JSTL & EL表达式(下)
109 0
【JavaWeb】之JSTL & EL表达式(下)
|
Java Apache 开发者
【JavaWeb】之JSTL & EL表达式(上)
【JavaWeb】之JSTL & EL表达式
113 0