一、jsp
1、为什么用jsp?
servlet做界面显示,代码编写麻烦、可读性差、不易维护,所以把显示部分的代码放到jsp中编写。
2、jsp的实质
jsp是一个servlet,用户第一次请求到达时,jsp被翻译成servlet,以后就用这个servlet响应用户请求。要想知道jsp被翻译成什么样的servlet,可以查看tomcat——》work目录下相应的.java文件。
3、jsp语法
× 一般语句都是放在<% %>里,<% %>中的语句可以不完整,但整体必须完整,例如
<%
for(){
%>
<p>jljljl</p>
<%
}
%>
× 声明方法语句为
<%!
//方法
%>
× 动作指令
三个关键字:<%@ page %> <%@ taglib %> <%@ page %>
NO1:page
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"
buffer="8kb" contentType="text/html; charset=UTF-8"
deferredSyntaxAllowedAsLiteral="false" errorPage="" extends="" isELIgnored="false"
session="true"
%>
NO2:included
<%@ include file="/2.jsp" %>
****** 静态包含和动态包含*****************
静态包含把所有的页面解释到一个servlet中,动态包含在遇到包含语句时才解析页面并包含到主页面中。
NO3:
4、jsp简单标签
<jsp:useBean>
<jsp:useBean id="calculator" class="cn.itcast.CalculatorBean" scope="page"/>//查看翻译后的servlet代码,观察其情况//////
<jsp:setProperty property="*" name="calculator"/>
<jsp:include>
<jsp:forward>
5、jsp调试
三种错误:jsp语法错误、java语法错误、翻译成的servlet出错。前两种比较好解决,根据错误提示即可。后面一种错误需要结合翻译后的xervlet进行排查错误,非常不好解决。
二、EL
1、jsp对程序员编写代码来说还不是很方便,因此sun公司又提供了一套编写代码的程序,就是EL。运用EL表达式可以方便地对数据进行处理。
2、EL实质也会被翻译成servlet代码,具体翻译成什么样可以参看翻译后的servlet。
3、EL语法
${username }相当于<%=pageContext.findAttribute("username") %>依次在page request session application域中查找username属性,查到即止,查不到返回“”。
××××EL表达式取得数据的方式×××××××
<br />
-------------------取出普通值-----------------------------
<br />
<%
request.setAttribute("username", "aaaaa");
%>
${username }<%=pageContext.findAttribute("username")%>
<br />
------------------取出对象值------------------------------
<br />
<jsp:useBean id="person" class="cn.itcast.el.Person" />
<jsp:setProperty name="person" property="name" value="bbb" />
${person.name }
<br />
------------------取出list对象值------------------------------
<br />
<%
Person person1 = new Person();
person1.setName("aaaa");
Person person2 = new Person();
person2.setName("bbb");
List lists = new ArrayList();
lists.add(person1);
lists.add(person2);
pageContext.setAttribute("list", lists);
%>
${list[1].name}
------------------取出map对象值------------------------------
<br />
<%
Person person11 = new Person();
person11.setName("aaaa");
Person person22 = new Person();
person22.setName("bbb");
Map map = new HashMap();
map.put("aaa",person11);
map.put("bbb",person22);
pageContext.setAttribute("map", map);
%>
${map.aaa.name}
4、EL内置对象
pageScope
requestScope
sessionScope
applicationScope
servletContext
。。。。。
5、自定义函数
步骤:
1)、定义一个静态的方法
2)、定义配置文件.tld,放在WEB-INF目录下
3)、在jsp页面导入标签,方法如下:
<%@ taglib uri="/xyy" prefix="xyy" %>prefix的属性随便取,uri的值根据tld文件配置取,tld模板如下
<?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">
<description>
A tag library exercising SimpleTag handlers.
</description>
<tlib-version>1.0</tlib-version>
<short-name>SimpleTagLibrary</short-name>
<uri>/xyy</uri>
<function>
<name>add</name>
<function-class>cn.itcast.el.Demo</function-class>
<function-signature>
java.lang.String add( java.lang.String,java.lang.String )
</function-signature>
</function>
</taglib>
分享到:
相关推荐
JavaWeb-11 JSP&EL表达式
JSTL&EL分页的例子 这是一个关于jsp的JSTL和El表达式的使用的代码案例 需要的话大家可以参考参考
JSP与EL详解
java中JSP和el表达式的隐含对象,能够让你对对jsp的更熟悉
涉及的技术:Servlet & JSP & EL & JSTL & HTML & JQuery & JavaScript & Bootstrap 开发环境:Eclipse + Mysql +Navicat + Windows + JDK1.8 + Tomcat9 本地访问办法:打开浏览器输入 http://localhost:8080访问 ...
el表达式,jsp.el表达式,页面el表达式,el表达式注释 el表达式的解释,el表达式的应用,java el表达式
关于JSTL和EL比较简洁明了,可以快速学习的教程。
JSP-EL表达式 一些简单的介绍 希望对大家有所帮助吧
jspEL表达式 jspEL表达式 jspEL表达式 jspEL表达式
JSP&Servlet;相关的规范
jsp EL调用业务方法
关于jsp中EL(Expression Language)表达式的相关简介
2018 年 6 月黑马 java 就业班视频。 2018 年 6 月黑马 java 就业班视频。2018年6月java黑马&传智视频 从java基础到架构都有,有很多新的技术加入其中 01.java基础(共300集左右).... 13.JSP&EL;&JSTL;( java
jsp的一些el
jsp el 表达式语言文档
JSP中EL表达式,主要介绍EL的详细用法,熟练掌握EL知识。
jsp el表达式详解
J2EE+JSP-EL 教学ppt文档 新手值得一看
内容包括:MySQL、MySQL约束&多表、MySQL多表&事务、JDBC、数据库连接池、HTML、CSS、JS基础&高级、BootStrap、XML、Tomcat、Servlet&HTTP&Request、Response、Cookie&Session、JSP&EL&JSTL、Filter&Listener、...
JSP EL隐含对象,很简单,欢迎大家参考