前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSTL的EL表达式简单使用

JSTL的EL表达式简单使用

作者头像
the5fire
发布2019-02-28 10:25:12
7330
发布2019-02-28 10:25:12
举报

只是简单的一些代码,不过我想根据大家举一反三的能力,知道这些之后其他的都不是问题了,因为JSTL本身就是为了简单方便才出现的。 首先建立一个servlet:

.. code:: java

代码语言:javascript
复制
package com.jstl;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class JstlELServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        //普通字符串
        req.setAttribute("hello", "Hello World");

        //结构
        Group group = new Group();//这个Group类你自己建就好了,里面只有一个私有的name属性,然后你给他生成get和set方法
        group.setName("组一");

        User user = new User();//这个User类也自己建吧,包括name,age,Group三个属性,还有各自的set和get方法
        user.setUsername("胡阳");
        user.setAge(23);
        user.setGroup(group);

        req.setAttribute("user", user);

        //map
        Map map = new HashMap();
        map.put("k1", "v1");
        map.put("k2", "v2");
        req.setAttribute("map", map);

        //字符串数组
        String[] strArray = new String[]{"a", "b", "c"};
        req.setAttribute("str_array", strArray);

        //对象数组
        User[] users = new User[9];
        for (int i = 0; i < users.length; i++) {
            users[i] = new User();
            users[i].setUsername("胡阳");
            users[i].setAge(23);
        }
        req.setAttribute("users", users);

        req.getRequestDispatcher("/jstl_el.jsp").forward(req, resp);
    }

}

然后配置一下web.xml文件,这里我不清楚为啥自己手动写一个就会导致tomcat启动不了,拷贝一份就可以,求解。

.. code:: xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>JstlELServlet</servlet-name>
    <servlet-class>com.jstl.JstlELServlet</servlet-class>
    <load-on-startup>5</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>JstlELServlet</servlet-name>
    <url-pattern>/servlet/JstlELServlet</url-pattern>
  </servlet-mapping>
</web-app>

再建立两个jsp页面:index.jsp和jstl_el.jsp:

Index.jsp:

.. code:: html

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
<a href="servlet/JstlELServlet">测试EL</a>
</body>
</html>

Jstl_el.jsp:(这个里面的内容你要好好看看)

.. code:: html

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>测试EL</title>
</head>
<body>
    <h1>测试EL表达式</h1>
    <hr>
    <li>普通字符串</li>
    hello(jsp脚本):<%=request.getAttribute("hello") %><br>
    hello(el表达式,语法:$和{}):${hello}<br>
    hello(el表达式,el的内置对象pageScope,requestScope,sessionScope,applicationScope)<br>
    如果不指定范围,它的搜索顺序为pageScope~applicationScope):${requestScope.hello}
    hello(el表达式,指定范围从session取得):${sessionScope.hello }

    <p>
        <li>结构</li>
        姓名:${user.username }<br>
        年龄:${user.age }<br>
        所属组:${user.group.name }<br>
    </p>
    <li>map</li><br>
    map.k1:${map.k1 }<br>
    map.k2:${map.k2 }<br>

    <li>字符串数组</li>
    strArray[1]:${str_array[1] }<br>
    <p>
    <li>对象数组,采用[]下标</li><br>
    users[1].username:${users[1].username }<br>

    <p>
    <li>list</li>
    userList[1].username:${userList[1].username }<br>

    <p>
    <li>EL表达式对运算符的支持</li>
    1+1=${1+1 }<br>
    10/4=${10/4 }<br>
    10 div 5=${10 div 5 }<br>
    10 mod 3=${10 mod 3 }<br>

</body>
</html>

好了,启动一下index.jsp页面,点击链接,完了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-12-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档