jstl 模糊比较_Jsp技术

Jsp技术

Java server pages ----- java服务页面

Servlet技术的延续:替换之前项目中用来展示页面(View)的Servlet

Jsp 技术 = html标签 + java代码

1、简化开发 (代码的简洁)

2、避免修改代码重启服务器

展示系统当前时间!!!

java代码需要进行嵌套(使用脚本 )

访问Jsp

1、需要将jsp页面部署到服务器中

2、路径 locahost:8989/项目名称/jsp页面名称

3、位置 Webroot目录中 和 html等静态资源位置相同。

一、脚本语法

1.1 输出脚本 *

将脚本中的内容输出到网页中。

相当于 System.out.print(输出控制台)

注意:输出脚本中结尾没有 ;

1.2 声明脚本

变量、方法、类 等等的声明

1.3 普通脚本 *

脚本中嵌套java代码。 唯一:不能去声明方法。

注意: 脚本 和 html标签/脚本 之间的互相嵌套

使用jsp页面输出99乘法表,奇偶行不同颜色。

for(int j=1;j<=i;j++){

if(i%2==0){%>

*=

*=

}%>

二、指令

语法 :

2.1 page

1. import="java.sql.*,java.util.*" 或者书写多个page指令标签

2. pageEncoding="UTF-8" 从.jsp到.class过程中的编码

3. contentType="text/html;charset=UTF-8" 输出页面的编码格式

4. session="true" true/false 和 Servlet中相同

5. isELIgnored="false" 是否忽略EL表达式 ***

6. errorPage="错误的提示页面路径" 本页面发生异常会跳转至错误的提示页面

7. isErrorPage="true" 提示页面必须将false改为true

注意: Jsp页面本质上就是一个Servlet,由服务器解析的时候自动生成 .java 和 .class文件

.jsp ----> .java -----> .class 文件

2.2 include 静态包含(源码包含)

一个jsp页面由多个独立页面组成,包含是在本页面中去引入其他页面代码。

file="另一张jsp页面的路径"

问题:

相互引用页面会产生代码的冲突。维护成本会增加。

2.3 taglib

三、动作

3.1 include 动态包含(结果包含)

一个jsp页面由多个独立页面组成,包含是在本页面中去引入其他页面的执行结果。

3.2 跳转 (了解)

四、隐含对象 (内置对象)

不需要开发人员手动创建,就可以直接使用的对象。(在脚本中使用!!) 九个必须都记住!!!

*1.request

//接收数据request.getParameter();

//作用域 request.set/getAttribute();

//动态获取项目名称 request.getContextPath()

2.response

*3.session

//作用域相关 session.set/getAttribute();

4.application (ServletContext)

//作用域相关 application.set/getAttribute();

5.config

6.out

7.page 相当于 this

8.exception 在iserrorPage=“true”中使用

*9.pageContext

9.1 是一个作用域 当前页面

pageContext可以操作其他三个作用域

pageContext.setAttribute("key", "value",pageContext.REQUEST_SCOPE);

*9.2 获取其他八个内置对象

pageContext.getXXXX();

五、EL表达式

从作用域中获取数据 ${ 作用域.name }

存:request.setAttribute(String name, Object value);

取:

脚本: request.getAttribute(String name);

EL : ${requestScope.name}

注意:

1.el表达式没有数据的展示可能是本身没有数据或者语法书写错误。

2.如果没有数据el不展示但是脚本会显示null

EL中的作用域都是什么?

脚本中的内置对象作用域:pageContext request session application

EL表达式中获取数据的作用域: pageScope requestScope sessionScope applicationScope

特殊: ${ name } 从小到大进行作用于中name的依次匹配,最终输出作用域范围最小的那一个。

1. 基本类型 + String + Date

2. 自定义类型(对象)

脚本:

EL : ${requestScope.u.name}

注意: .name 是调用了User类中的 getName()方法

. 相当于get 首字母由大写转换为小写

//对象中的属性又是自定义对象

${requestScope.u.address.city}

3. 支持运算

算术运算 + - * / %

${requestScope.u.id + 1 }

比较运算 > gt < lt >= ge <= le == eq != ne

逻辑运算 && || !

${requestScope.flag1 && requestScope.flag2}

${!requestScope.flag1}

empty 空运算 判断作用域中 键name 是否存在

是否为空 true:空 false:非空

内置对象 (EL表达式中)

1、 pageContext 可以获取其他内置对象

EL获取项目名称?

${pageContext.request.contextPath}

2、 param

用来接收提交的数据 相当于request.getParamter();

http://localhost:8989/Jsp_Day2/el2.jsp?name=liuyang

收数据 ${ param.name }

3、 cookie

cookie.getName() cookie.getValue();

${cookie}

${cookie.JSESSIONID}

${cookie.JSESSIONID.name}

${cookie.JSESSIONID.value}

记录用户名密码?

完成登陆操作之后创建两个Cookie对象 username 、 password

注意:中文的处理

六、JSTL标签

Jsp 标准标签库

和EL表达式一起使用替换页面中所有的脚本(展示数据用的脚本)

引入标签库 :

uri : 标签库的资源路径 prefix : 别名 在页面中使用的开头标识。

常用标签

1. 判断相关的标签

1.1

hello world

没有else的!!!!!

1.2

id 大于 5

id 大于 6

2. 集合数据的输出

List/Set 集合

${addr.city}
${addr.street}

Map 集合

${addr}
${addr.key}
${addr.value.city}

补充: 标签中的属性

begin="0" end="2" 从哪开始遍历到哪结束遍历 list 顺序 set、map 个数 数量

step="2" 步伐 隔行展示 3:中间间隔两个

varStatus="a" 遍历的状态

遍历下标:${a.index}
遍历次数:${a.count}
是否是第一次遍历:${a.first}
是否是最后一次遍历:${a.last}

JSTL标签的补充

日期

URL重写

cookie禁用了session怎么办? jsp页面中的访问路径需要进行url重写

// action=“/项目名称/资源路径”

context=“项目名称” value=“资源路径”

/Jsp_Day2/资源路径;jsessionid=622D6234E21CE7FB4B56DD5758E89443

两张表

用户表 id username realname password sex age

商品表 id pro_name price description

功能:

​登陆、注册、验证码

​展示所有商品、删除、修改、添加

​展示当前时间、安全退出、强制登陆、显示当前登陆用户、模糊搜索

​分页!!购买!!

分页

SQL语句的分页 rownum

购物车

1、数据存入对象 全新的对象 VO类 shopitem

2、使用什么集合存储 多个shopitem对象? Map集合 key-value 商品ID – shopitem

3、Map集合应该存在哪个作用域中? session作用域

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值