一、JavaBean概念(非常重要)

1、JavaBean就是遵循一定书写规范的Java类型(开发中:封装数据)

a、必须有默认的构造方法,类必须是public的   public class Person{}

b、字段都是私有的(字段名首字母小写)  private String userName;

c、提供公有的getter或者setter方法(访问属性)

public void setUserName(String userName)

{

this.userName  = userName;

}

public String getUserName(){};

d、一般情况下需要实现java.io.Serializable接口,实现序列化

可以只有get没有set

二、JSP中操作JavaBean的动作元素(内置标签)

1、jsp:useBean

<jsp:useBeanid="p" class="com.itheima.domain.Person" scope="page"></jsp:useBean>

功能:从指定的域范围中用id的名字查找,没有找到,创建class指定的类的实例,并放到scope指定的域范围中,key是id的值。

属性:

id:对象的引用| 域范围中存储的key值

class:JavaBean的全名

scope:指定的域范围。、

page:PageContext-Map

request:ServletRequest-Map

session:HttpSession-Map

application:ServletContext-Map

2、jsp:getProperty

相当于调用getter方法

name:userBean中的id的那个值

property:读属性

3、jsp:setProperty

相当于调用setter方法

name:userBean中的id的那个值

property:写属性(使用请求参数填充数据时,如果请求参数名称和写属性名称一致,可以使用*通配符)

param:请求参数的名称

三、Web开发的模型:

模型1:(JSP+JavaBean)

模型2:(MVC)

M:Model  模型JavaBean

V:View   视图JSP

C:Controller 控制器 Servlet

实际开发中:JSP中不能出现一行Java表达式、脚本、声明(不能出现<%%>)

Java表达式:替代方案EL表达式

脚本(控制逻辑):自定义标签

四、EL表达式(四大域对象有关。很重要)

EL的基本语法和表现形式

a、基本形式:${EL表达式}

b、${p}  什么意思?pageContext.findAttribute("p").EL表达式只能从四大域  范围中取数据。EL表达式没有null,会显示""

${p.name}    是  p.getName()

功能:

1、获取数据

运算符:

点运算符:调用getter方法

[]:获取有顺序的集合元素,同时还能完成点运算符能做的事。  ${p.name}==${p['name']}

2、执行运算(简单的数学或逻辑)

empty运算符:判断一个对象是不是null或者"",还能判断一个集合中有木有元素。返回true

3 获取web开发常用对象(11EL隐式对象):难点---容易和jsp的9个隐式对象混淆如下图所示:

4、调用Java中的静态方法(扩展字符串操作):自定义EL函数

开发步骤:与日后讲的自定标签步骤完全一致。

a、编写一个类,提供静态方法:

package com.itheima;

public class MyFunctions {

public static String toUppercase(String s){

return s.toUpperCase();

}

}

b、在WEB-INF目录下,建立一个扩展名为tld(Tag Libary Definition)的xml文件。

<?xml version="1.0" encoding="UTF-8"?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"

version="2.0">

<tlib-version>1.0</tlib-version>

<short-name>myfn</short-name>

<!-- 名称空间:不代表实际文件 -->

<uri>http://www.itheima.com/jsp/myfunctions</uri>

<function>

<description>touppercase</description>

<name>toUppercase</name>

<function-class>com.itheima.MyFunctions</function-class>

<function-signature>java.lang.String toUppercase( java.lang.String )</function-signature>

</function>

</taglib>

c、(可选的)在web.xml中,建立tld文件和tld中的uri的对应关系。

<jsp-config>

<taglib>

<taglib-uri>http://www.itheima.com/jsp/myfunctions</taglib-uri>

<taglib-location>/WEB-INF/myfn.tld</taglib-location>

</taglib>

</jsp-config>

d、怎么在JSP中使用自定义的EL函数

<%@ taglib uri="http://www.itheima.com/jsp/myfunctions" prefix="myfn"%>

<%

pageContext.setAttribute("s", "abcdefg");

%>

${myfn:toUppercase(s)}

五、JSTLCore库中的:

Java开发的标准:JCP.org   主要成员:SUN、Apache、Red Hat....

1、JSTL:Java Standard Tag Libary   JSP中标准(Apache实现的)

2、JSTL由5部分组成

core:核心标签库

fmt:国际化标签库(格式化)

sql:操作数据标签库(不学)

xml:操作XML的标签库(不学)

fn:自定义的EL函数(学学吧)?没讲,只讲的自定义EL表达式=自定义标签????

3、Core中的标签:

c:if:等同java语言的if

test:必须的。支持表达式(JSP表达式或EL),返回值必须是boolean类型的。

如果test为true,c:if标签的主体内容就会显示。

c:forEach:循环遍历主体内容

items:要遍历的集合、数组等

var:指定引用当前元素的名称

begin:开始的索引

end:结束的索引

step:步长。默认1

varStatus:指定一个名称,它引用一个对象。该对象记录着当前遍历的元素的一些信息。

getIndex():获取当前遍历的元素的索引

getCount():获取当前遍历的元素的计数

isLast():当前遍历的元素是否是最后一个

isFirst():当前遍历的元素是否是第一个

jsp web JavaBean MVC 架构 EL表达式 EL函数 JSTL的更多相关文章

  1. EL表达式---自定义函数(转)

    EL表达式---自定义函数(转) 有看到一个有趣的应用了,转下来,呵呵!! 1.定义类MyFunction(注意:方法必须为 public static) package com.tgb.jstl;  ...

  2. 11 JSP/EL表达式/EL函数

    JSP      * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行      * JSP的运行原 ...

  3. EL表达式 EL函数 自定义el函数 《黑马程序员_超全面的JavaWeb视频教程vedio》

    \JavaWeb视频教程_day12_自定义标签JSTL标签库,java web之设计模式\day12_avi\12.EL入门.avi; EL表达式 1. EL是JSP内置的表达式语言! * jsp2 ...

  4. EL表达式自定义函数

    表达式语言除了可以使用基本的运算符外,还可以使用自定义函数.通过使用自定义函数,加强了表达式语言的功能. EL表达式函数,主要功能是完成对数据的修改,统一化格式: 步骤 1.开发函数处理类,处理类就是 ...

  5. 自定义EL表达式的函数

    编写描述的tld文件放到web-inf/目录下,才能在jsp页面上调用 <?xml version="1.0" encoding="UTF-8" ?> ...

  6. EL表达式结合页面JSTL使用 迭代显示表格

    1.迭代显示表格 <%@ page isELIgnored="false"%><%@ taglib uri="/WEB-INF/struts-bean. ...

  7. EL表达式各种函数使用大全

      引入<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> ...

  8. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  9. Javaweb学习笔记——(十二)——————JSP指令:page指令、include指令、taglib指令,JavaBean,内省,EL表达式

    JSP指令JSP指令分类 JSP有三大指令: *page指令 *include指令 *taglib指令 在JSP中没有任何指令是必须的. 但基本上每个JSP都是使用page指令============ ...

随机推荐

  1. JavaScript中你所不知道的Object(二)--Function篇

    上一篇(JavaScript中你所不知道的Object(一))说到,Object对象有大量的内部属性,而其中多数和外部属性的操作有关.最后留了个悬念,就是Boolean.Date.Number.Str ...

  2. MVC 常用扩展点:过滤器、模型绑定等

    MVC 常用扩展点:过滤器.模型绑定等 一.过滤器(Filter) ASP.NET MVC中的每一个请求,都会分配给对应Controller(以下简称"控制器")下的特定Actio ...

  3. 英语学习APP的案例分析

    第一部分 调研, 评测 1.第一次上手体验 首界面友好,因为该软件面向的用户有一大部分是想提升自己英语水平的学生,所以每日例句放在首页以便一打开就能看见,同时配以图片展示,让色彩显得比较丰富,让学生从 ...

  4. Beta版本冲刺前准备

    Beta版本冲刺 经过紧张的Alpha阶段,很多组已经从完全不熟悉语言和环境,到现在能够实现初步的功能.下一阶段即将加快编码进度,完成系统功能.强化软件工程的体会. 1.凡事预则立,在Beta开始前, ...

  5. Java星星打印三角形小结

    1.直角三角形的打印

  6. 201521123093 java 第八周总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 1.泛型简介:同一个代码可以被不同的对象重用 2.使用泛型的好处:允许 ...

  7. 201521123037 《Java程序设计》第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 1.2 可选:使用常规方法总结其他上课内容. 接口与抽象类 ...

  8. ASCII中关于大小写字母间隔为32的思考

    一直没有搞清楚为什么在ASCII中要把大小写字母的间隔设置为32,今天才发现这样设置的精妙之处:方便了程序对大小写字母进行转换.请看: ================= 十进制        32 ...

  9. 201521123018 《Java程序设计》第12周学习总结

    1. 本章学习总结 你对于本章知识的学习总结 2. 书面作业 将Student对象(属性:int id, String name,int age,double grade)写入文件student.da ...

  10. 201521123031 《Java程序设计》 第十周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...