学习javaweb第十天

学习javaweb第十天,第1张

学习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


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

运行:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5697106.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存