JSP文件有5类元素:注释,模版,脚本,指令,行为

下面我就和大家分别唠唠,这5个玩意到底是啥玩意!

一.注释(我feel有三种):

html注释:<!--……-->  显式注释,即客户端可见

jsp注释:<%--……--%> 隐式注释,即客户端不可见

java注释:<%//……%> 或 <%/*……*/%> 隐士注释

二.三种脚本:声明元素,Scriptlet元素,表达式元素

1.声明元素:      用java语句声明定义一个或多个常量、变量、方法、类

<%! java声明语句 %>

2.Scriptlet(小脚本)元素:           可包含Java语句、html元素等代码

<% 代码片段 %>

注:在编写代码中,可以采用字符串的形式“”来使用html中的标签元素;

例:

<%

for (int i=0; i<5; i++) {

//out是jsp中提供的,用于向浏览器显示内容;

//这里的println是源代码换行,而"<br>"才是客户端中换行;

out.println("<h1>helloworld" + i + "<br><h1>");

}

%>

或采用分段式的写法来编写小脚本(更常用)

例:

<% for(int i=0; i<5; i++){ %>

<h3>

HELLOWORLD   <%=i%>   <br>

</h3>

<% } %>

3.表达式元素:  不需使用“;”来结束表达式

 <%= (能被转换成字符串的)表达式 %>

三.指令: <%@……>

常用指令标签:

<%@ page ... %>     定义页面的依赖属性,比如编码格式、内容类型、error页面、缓存需求等

<%@ include ... %> 包含其他文件

<%@ taglib ... %>    引入标签库的定义,可以是自定义标签

例:

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8" import="java.util.*" buffer="8kb" %>

<%@ include file=" C:/Program Files (x86) /1.jsp" %>

四.行为:<jsp:……> 

JSP行为标签使用XML语法结构来控制servlet引擎。

行为标签只有一种语法格式,它严格遵守XML标准:

注:Web开发中Bean指定就是类,分为实体bean和业务bean

常用的动作标签:

jsp:useBean    寻找和初始化一个JavaBean组件(即:实例化一个类的对象)

jsp:setProperty       设置 JavaBean组件的值

jsp:getProperty      将 JavaBean组件的值插入到 output中

jsp:include      用于在当前页面中包含静态或动态资源

jsp:forward     从一个JSP文件转向另一个文件(转发,跳转),地址栏不变

jsp:param  提供指定参数 可以包括在jsp:include和jsp:forward标签中

处理插件的三个标准动作:

jsp:plugin 用于在生成的HTML页面中包含Applet和JavaBean对象

jsp:params  用于向HTML页面上的插件传递参数

jsp:fallback  用于指定客户不支持java插件时该怎么做

jsp:element      动态创建一个XML元素

jsp:attribute    定义动态创建的XML元素的属性

jsp:body   定义动态创建的XML元素的主体

jsp:text    用于封装模板数据

例1: jsp:useBean

<jsp:useBean id="animal" class="com.zjx.vo.Animal" scope="page" >

<jsp:setProperty property="name" name="animal" value="狗"/>

<jsp:getProperty property="name" name="animal" />

……

</jsp:useBean>

等价于:

<%

com.zjx.vo.Animal animal = new com.zjx.vo.Animal();

animal.setName(“狗”);

……

%>

<%= animal.getName() %>

注:也通过传递自动修改bean组件的值,不需指定值:但必须满足以下条件:

①  serProperty标签要写在userBean标签里;

②  Bean中属性名和提交传递过来的名字一致;即:setProperty中property字段的值和提交传递过来信息的名字(原信息中的name字段的值)相等;

例2:jsp:include

<jsp:include page="1.jsp"></jsp:include>

等价于:

<%@ include file="1.jsp"%>

例3:jsp:forward

<jsp:forward page="1.jsp"></jsp:forward>

等价于

<%

request.getRequestDispatcher("b.jsp").forward(request,response);

%>

注:jsp:forward 可以使用jsp:param 子标签向跳转页中传入一些参数;

例4:jsp:param

添加参数值为中文时:加码 java.net.URLEncoder.encode("中文","utf-8")

<jsp:param value='<%=java.net.URLEncoder.encode("中文","utf-8")%>' name="paramname"/>

得到中文的参数值:解码java.net.URLDecoder.decode(("中文","utf-8")

java.net.URLDecoder.decode(request.getParameter("paraname"),"utf-8")

JSP的基本语法:的更多相关文章

  1. JSP的基本语法

    JSP的基本语法 一.JSP页面中的JAVA代码 二.JSP页面中的指令 三.JSP页面中的隐含对象(九大内置对象) 目录 一.JSP页面中的JAVA代码 JSP表达式(方便输出) JSP小脚本(完成 ...

  2. JSP基础知识➣语法整理(二)

    A.脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式:<% 代码片段 %>,但是不能包含文件的方法和变量的声明 B.J ...

  3. JSP基本的语法、3个编译指令、7个动作指令、9个内置对象

    一.jsp概述 JSP是java server page的缩写,其本质是一个简化的servlet,是一种动态网页技术标准.jsp页面是在HTML页面中嵌入java程序段.使用jsp开发的应用程序能够跨 ...

  4. [原创]java WEB学习笔记14:JSP的9 个隐含对象 及 JSP 的基本语法

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. JSP介绍与语法-java之JSP学习第一天(非原创)

    文章大纲 一.JSP 简介二.JSP 生命周期三.JSP 语法四.学习资料下载五.参考文章   一.JSP 简介 1. 什么是Java Server Pages? JSP全称Java Server P ...

  6. jsp学习--基本语法和基础知识

    一.JSP简单介绍 1.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于 ...

  7. JSP/Servlet基础语法

    相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...

  8. eclipse关掉jsp,js的语法验证

    转载:http://blog.csdn.net/testcs_dn/article/details/39058959 eclipse加速之禁用JS.jsp等文件的语法验证 去除eclipse的JS验证 ...

  9. JSP(基础语法)

    一.JSP简介 JSP全称为Java Server Pages,其根本是一个简化的Servlet设计,它实现了在java当中使用HTML标签.JSP是一种动态网页技术标准也就是javaEE的标准.JS ...

随机推荐

  1. 吐槽THINKPHP5命令行

    thinkphp,作为国内开源框架,一直在使用和学习. 但是实在忍不住想要吐槽一下他的开发文档,和 对初学者的不友好,建议刚接触MVC思想的人 还是尽量去使用其他框架当入门. 现在来吐槽一下think ...

  2. 在CSS中通过@font-face属性来实现网页中嵌入特殊字体。

    首先获取要使用字体的三种文件格式.EOT..TTF或.OTF..SVG,确保能在主流浏览器中都能正常显示该字体..EOT,适用于Internet Explorer 4.0+.TTF或.OTF,适用于F ...

  3. C#检测本地网络状态

    using System; using System.Runtime.InteropServices; public static class NetTool { [Flags] private en ...

  4. java中与数据库的连接

    package unitl01; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet; ...

  5. dynamic_cast 和 static_cast 隐式类型转换的区别

    首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换 又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion ...

  6. Android 中onSaveInstanceState和onRestoreInstanceState学习

    1. 基本作用: Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,它们不同于 onCreate().onPaus ...

  7. OpenStack虚拟机DHCP获取不到IP地址排查

    版本:OpenStack Liberty Neutron DVR 现象: 1.在虚拟机内部不停地dhclient 2.在虚拟机所属的计算节点的物理网卡上抓包,发现该虚拟机发出的dhcp广播包 3.在虚 ...

  8. chrome中怎么避免最小字体只能为12px

    在chrome下,fontSize的像素>=12px,因此不能通过调整html.fontSize=10px来定位rem. 但是我们可以通过设置html{font-size:625%;},p{fo ...

  9. 简单说一个IOCP不好的地方

    感谢rulary的指正!博文中我对IOCP的理解是有误的,正确的方式请见评论区rulary的回复! 由于项目实际设计的需要,最终IO事件处理没有采用IOCP,而是采用了NT6.0引入的WSAPoll, ...

  10. 当padding,margin,top为百分比值,具体数值如何计算

    padding以及margin的四个方向设置值为百分数的时候,是以父元素的宽度为基数来进行计算. (为了保持横向和纵向方向上的margin/padding一致,但是其实也不是一定以父元素的宽度为参照物 ...