Java Web之JSTL与EL学习

1、创建Web项目JSTLELDemo修改配置
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述2、在web目录里创建首页文件index.html
在这里插入图片描述3、在web目录里创建演示页面demo01.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>EL演示01</title>
</head>
<body>
<%
    String username = "李元霸";
    pageContext.setAttribute("username","张三丰");
    request.setAttribute("username","李世民");
    session.setAttribute("username","郑晓雯");
    application.setAttribute("username","唐雨涵");
%>
利用JSP表达式输出变量值:<br/>
姓名:<%= username %><br/>
姓名:<%=pageContext.getAttribute("username")%><br/>
姓名:<%= request.getAttribute("username")%><br/>
姓名:<%=session.getAttribute("username")%><br/>
姓名:<%=application.getAttribute("username")%><br/>
利用EL表达式输出变量值:<br/>
姓名:${username}<br/>
姓名:${pageScope.username}<br/>
姓名:${requestScope.username}<br/>
姓名:${sessionScope.username}<br/>
姓名:${applicationScope['username']}<br/>
</body>
</html>

启动服务器,访问http://localhost:8080/JSTLELDemo/demo01.jsp:在这里插入图片描述4、在web目录里创建演示页面demo02.jsp

<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>EL演示02</title>
</head>
<body>
<%
    Map<String,String> names= new HashMap<>();
    names.put("one","李玉文");
    names.put("two","钟发奎");
    names.put("three","周晓雯");
    session.setAttribute("names",names);
%>
第一个学生:<%= names.get("one")%>:${sessionScope.names.one}:${names['one']}<br/>
第二个学生:<%= names.get("two")%>:${sessionScope.names.two}:${names['two']}<br/>
第三个学生:<%= names.get("three")%>:${sessionScope.names.three}:${names['three']}<br/>
</body>
</html>

启动服务器,访问http://localhost:8080/JSTLELDemo/demo02.jsp:在这里插入图片描述
5、在WEB-INF目录里创建lib子目录,添加标准标签库jar包
标签库jar包下载地址:http://tomcat.apache.org/taglibs/standard/
在这里插入图片描述在这里插入图片描述在这里插入图片描述6、在web目录里创建演示页面demo03.jsp

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Random" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>EL演示03</title>
</head>
<body>
<c:set var="x" value="${1+2+3}" scope="session"/>
<%
    String y = String.valueOf(1 + 2 + 3);
    session.setAttribute("y", y);
%>

x: <c:out value="${x}"/><br/>
y: <c:out value="${y}"/> <br/>

<c:remove var="y" scope="session"/>
y: ${sessionScope.y}<br/>  <!-- y已被删除,因此没有值可以显示 -->

<hr>
if标签用法示例(单分支结构) <br/>
<c:if test="${x=='6' }" var="result">
    x的结果是6。<br/>
</c:if>
条件判断的结果为:${result}<br/>

<hr>
choose、when、otherwise标签用法示例(多分支结构)<br/>
<%
    Random rnd = new Random();
    Integer luck = new Integer(rnd.nextInt(10));
    request.setAttribute("luck", luck);
%>
<c:choose>
    <c:when test="${luck==8}">恭喜你中了一等奖!</c:when>
    <c:when test="${luck==6}">恭喜你中了二等奖!</c:when>
    <c:when test="${luck==9}">恭喜你中了三等奖!</c:when>
    <c:otherwise>谢谢参与,欢迎再来!</c:otherwise>
</c:choose>

<hr>
forEach标签用法示例(循环结构)<br/>
<%
    List<String> users = new ArrayList<String>();
    users.add("admin");
    users.add("howard");
    users.add("smith");
    users.add("green");
    request.setAttribute("users", users);
%>

<c:forEach items="${users}" var="user">
    <c:out value="${user}"/><br/>
</c:forEach>
</body>
</html>

启动服务器,访问http://localhost:8080/JSTLELDemo/demo03.jsp:
在这里插入图片描述
7、在web目录里创建演示页面demo04.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>formateDate标签应用示例</title>
</head>
<body>
<h3>formateDate标签应用示例</h3>
<jsp:useBean id="now" class="java.util.Date"/>
<fmt:formatDate var="date" value="${now}"
                type="date" dateStyle="default"/>
<fmt:formatDate var="time" value="${now}"
                type="time" timeStyle="default"/>
<table border="1">
    <tr>
        <td>序号</td>
        <td>样式</td>
        <td>日期</td>
        <td>时间</td>
    </tr>
    <tr>
        <td>1</td>
        <td>default</td>
        <td>${date}</td>
        <td> ${time}</td>
    </tr>

    <fmt:formatDate var="date" value="${now}"
                    type="date" dateStyle="short"/>
    <fmt:formatDate var="time" value="${now}"
                    type="time" timeStyle="short"/>
    <tr>
        <td>2</td>
        <td>short</td>
        <td>${date}</td>
        <td> ${time}</td>
    </tr>

    <fmt:formatDate var="date" value="${now}"
                    type="date" dateStyle="medium"/>
    <fmt:formatDate var="time" value="${now}"
                    type="time" timeStyle="medium"/>
    <tr>
        <td>3</td>
        <td>medium</td>
        <td>${date}</td>
        <td> ${time}</td>
    </tr>

    <fmt:formatDate var="date" value="${now}"
                    type="date" dateStyle="long"/>
    <fmt:formatDate var="time" value="${now}"
                    type="time" timeStyle="long"/>
    <tr>
        <td>4</td>
        <td>long</td>
        <td>${date}</td>
        <td> ${time}</td>
    </tr>

    <fmt:formatDate var="date" value="${now}"
                    type="date" dateStyle="full"/>
    <fmt:formatDate var="time" value="${now}"
                    type="time" timeStyle="full"/>
    <tr>
        <td>5</td>
        <td>full</td>
        <td>${date}</td>
        <td> ${time}</td>
    </tr>
</table>
<p/>
<fmt:formatDate value="${now}" var="result"
                type="both" pattern="yyyy年MM月dd日 hh时mm分ss秒"/>
自定义显示当前时间:${result}
</body>
</html>

启动服务器,访问http://localhost:8080/JSTLELDemo/demo04.jsp:
在这里插入图片描述
作业部分:使用EL实现注册功能
1、在web目录里创建注册页面register.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户注册</title>
    <style>
        td,body{
            padding:5px;
            font-size:20px;
        }
    </style>
</head>
<body>
<form name="form1" method="post" action="do_register.jsp">
    <table width="400" height="30" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <td width="76" align="center">name:</td>
            <td width="324">
                <input name="user" type="text" id="user">    </td>
        </tr>
        <tr>
            <td align="center">password:</td>
            <td><input name="pwd" type="password" id="pwd"></td>
        </tr>
        <tr>
            <td align="center">Birth Date:</td>
            <td><input name="birthday" type="date" id="birthday">(Use format yyyy-mm-dd)</td>
        </tr>
        <tr>
            <td align="center">E-mail:</td>
            <td><input name="email" type="text" id="email" size="45">(name@company.com)</td>
        </tr>
        <tr>
            <td align="center">Gender:</td>
            <td><input name="sex" type="radio" value="Male" checked="checked">
                Male
                <input name="sex" type="radio" value="Female">
                Female</td>
        </tr>
        <tr>
            <td align="center">Lucky Number:</td>
            <td><input name="number" type="number" id="number" size="45"> (A number between 1 and 100)</td>
        </tr>
        <tr>
            <td align="center" >Hobby:</td>
            <td><input name="affect" type="checkbox" id="affect" value="Swim">
                Swim
                <input name="affect" type="checkbox" id="affect1" value="Traveling">
                Traveling
                <input name="affect" type="checkbox" id="affect2" value="Read">
                Read
                <input name="affect" type="checkbox" id="affect3" value="Singing">
                Singing</td>
        </tr>
        <tr>
            <td align="center">Remarks:</td>
            <td><textarea name="memo" cols="43" rows="5" id="memo"></textarea></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="Submit" value="注册">
                <input type="reset" name="Submit2" value="重置"></td>
        </tr>
    </table>
</form>
</body>
</html>

2、在web目录里创建验证注册页面do_register.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
         pageEncoding="utf-8"%>
<%
    request.setCharacterEncoding("utf-8");
%>
<%

    String user=request.getParameter("user");   //获取文本框的值
    String pwd=request.getParameter("pwd");     //获取密码域的值
    String birthday=request.getParameter("birthday");     //获取密码域的值
    String email=request.getParameter("email"); //获取文本框的值
    String number=request.getParameter("number"); //获取文本框的值
    String sex=request.getParameter("sex");//获取单选按钮的值
    /*****************获取复选框的值**********************/

String[] arrAffect=request.getParameterValues("affect");    //获取复选框的值
String affect="";
if(arrAffect!=null){
    //通过for循环遍历获取到的数组
    for(int i=0;i<arrAffect.length;i++){
        affect+=arrAffect[i]+",";                   //输出当前元素
    }
    System.out.println(affect.length());
    affect=affect.substring(0,affect.length()-1);   //去除字符串中最后一个逗号
}
/*****************************************************/

String memo=request.getParameter("memo");   //获取编辑框的值

%>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>获取用户注册信息</title>
    <style>
        td,body{
            padding:5px;
            font-size:12px;
        }
    </style>
</head>
<body>
<form name="form1" method="post" action="">
    <table width="400" height="30" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#333333">
        <tr>
            <td width="76" align="center" bgcolor="#FFFFFF">Name:</td>
            <td width="324" bgcolor="#FFFFFF">&nbsp;${param.user }</td>
        </tr>
        <tr>
            <td align="center" bgcolor="#FFFFFF">Password:</td>
            <td bgcolor="#FFFFFF">&nbsp;${param.pwd }</td><!--使用EL表达式向浏览器输出-->
        </tr>
        <tr>
            <td align="center" bgcolor="#FFFFFF">Birth date:</td>
            <td bgcolor="#FFFFFF">&nbsp;${param.birthday }</td>
        </tr>
        <tr>
            <td align="center" bgcolor="#FFFFFF">E-mail:</td>
            <td bgcolor="#FFFFFF">&nbsp;${param.email }</td>
        </tr>
        <tr>
            <td align="center" bgcolor="#FFFFFF">Gender:</td>
            <td bgcolor="#FFFFFF">&nbsp;${param.sex }</td>
        </tr>
        <tr>
            <td align="center" bgcolor="#FFFFFF">Hobby:</td>
            <td bgcolor="#FFFFFF">&nbsp;${paramValues.affect[0]} ${paramValues.affect[1]} ${paramValues.affect[2]} ${paramValues.affect[3]}</td>
        </tr>
        <tr>
            <td align="center" bgcolor="#FFFFFF">Lucky Number:</td>
            <td bgcolor="#FFFFF">&nbsp;${param.number}</td>
        </tr>
        <tr>
            <td align="center" bgcolor="#FFFFFF">Remarks:</td>
            <td bgcolor="#FFFFFF">&nbsp;${param.memo }</td>
        </tr>
        <tr>
            <td colspan="2" align="center" bgcolor="#FFFFFF"><a href="index.html">返回</a></td>
        </tr>
    </table>
</form>
</body>
</html>

启动服务器,访问http://localhost:8080/JSTLELDemo/register.jsp:
在这里插入图片描述在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值