栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

学习javaweb第十天

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习javaweb第十天

JSTL和Filter过滤器

JSTL:JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。

测试:
1、导入jstl包

2、创建一个test.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>




Insert title here


    <%
      out.print("dashuju");
    response.getWriter().print("dashuju2005");
    %>
    
    
    

运行

Core 标签库
Core 标签库:又被称为核心标签库,该标签库的工作是对于 JSP 页面一般处理的封装。在该标签库中的标签一共有 14 个,被分为了四类,分别是:

  • List item多用途核心标签:
  • List item条件控制标签:
  • 循环控制标签:
  • URL 相关标签:

用于显示的 标签
标签是一个最常用的标签,用于在 JSP 中显示数据。它的属性和描述如下所示:

标签属性和说明

属性 value、default、escapeXml

描述:

value:输出到页面的数据,可以是 EL 表达式或常量(必须)

default:当 value 为 null 时显示的数据(可选)

escapeXml:当设置为 true 时会主动更换特殊字符,比如“ <,>,& ”(可选,默认为 true )

在 JSTL1.0 的时候,在页面显示数据必须使用 来进行。然而,在 JSTL1.1 中,由于 JSP2.0 规范已经默认支持了 EL 表达式 ,因此可以直接在 JSP 页面使用表达式。

创建c_out1.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>




Insert title here


     <%--第1个out标签 --%>
     userName属性的值为:
     
     
<%--第2个out标签 --%> userName属性的值为: unknown

运行:


传递一个参数

创建c_out2.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>




Insert title here


   
      
      


运行

用于判断的 标签

标签用于简单的条件语句。它的属性和描述如下所示:

标签属性和说明

属性: test、var、scope

描述:

test:需要判断的条件

var:保存判断结果 true 或 false 的变量名,该变量可供之后的工作使用(可选)

scope:变量的作用范围,若没有指定,默认为保存于 page 范围中的变量(可选)

创建一个c_if.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>




Insert title here


       <%-- request.setAttribute("key,1"); --%>
       
       ${requestScope.key }
       
            hello c:if标签
       


运行:

用于复杂判断的 标签

这三个标签用于实现复杂条件判断语句,类似“ if,elseif ”的条件语句。

  • List item 标签没有属性,可以被认为是父标签, 将作为其子标签来使用。
  • 标签等价于“ if ”语句,它包含一个 test 属性,该属性表示需要判断的条件。
  • 标签没有属性,它等价于“ else ”语句。

创建一个c_choose.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>




Insert title here


   
   
       <%--  if()  --%>
       
                         未知用户
       
       
       <%--  ifelse()  --%>
       
          ${param.username} is boss
       
       
       <%--  else() --%>
       
           ${param.username} is worker
       
       
   



用于循环的 标签

为循环控制标签。它的属性和描述如下 所示:
标签属性和说明
属性: items、begin、end、step、var、varStatus

描述:

items:进行循环的集合(可选)

begin:开始条件(可选)

end:结束条件(可选)

step:循环的步长,默认为 1 (可选)

var:做循环的对象变量名,若存在 items 属性,则表示循环集合中对象的变量名(可选)

varStatus:显示循环状态的变量(可选)

创建一个c_foreach1.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"% import="java.util.*"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>




Insert title here


     <%
         String[] fruits = { "apple","orange","grape","banana" };
         request.setAttribute("ff",fruits);
     %>
     String数组中的元素:
     
${yy }
<% Map userMap = new HashMap(); userMap.put("Tom","123"); userMap.put("Make","123"); userMap.put("Lina","123"); request.setAttribute("map", userMap); %>
HashMap集合中的元素:
key:${m.key }---------------value:${m.value }

创建一个名为c_foreach2.jsp的文件,该文件中使用了标签的begin、end 和step属性.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"% import="java.util.*"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>




Insert title here


    colorsList集合(指定指代范围和步长)  
<% List colorsList=new ArrayList(); colorsList.add("red"); colorsList.add("yellow"); colorsList.add("blue"); colorsList.add("green"); colorsList.add("black"); colorsList.add("gray"); request.setAttribute("list", colorsList); %> ${aa }

创建c_foreach3.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>



   <%
       List userList=new ArrayList();
       userList.add("Tom");
       userList.add("Make");
       userList.add("Lina");
   %>
   
         
序号 索引 是否为第一个元素 是否为最后一个元素 元素的值
${status.count} ${status.index} ${status.first} ${status.last} ${name}

用于包含传递参数的 标签
用来为包含或重定向的页面传递参数。它的属性和描述如下所示:

标签属性和说明

属性: name、value

描述:

name:传递的参数名

value:传递的参数值(可选)

用于得到 URL 地址的 标签
标签用于得到一个 URL 地址。它的属性和描述如下所示:

标签属性和说明

属性: value、context、charEncoding、var、scope

描述:

value:页面的 URL 地址

context:Web Context 该属性用于得到不同 Context 下的 URL 地址,当出现 context 属性时,必须以“ / ”开头,此时也需要 url 属性以“ / ”开头(可选)

charEncoding:URL 的字符集(可选)

var:存储 URL 的变量名(可选)

scope:变量名作用范围(可选)

创建一个c_url.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>




Insert title here


     使用绝对路径:
绝对路径登录页面
使用相对路径:
相对路径登录页面

运行:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/696970.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号