Jsp语法简介
1.JSP指令
jsp指令用来设置整个JSP网页想关闭的属性,如网页的编码和脚本语言等。常用的3种指令为page,include和taglib.
2.JSP声明
jsp声明用于声明JSP代表的Servlet类的成员变量和方法,语法:<%! %>
例如:
<%! int i=0;%>
<%! int a,b,c;%>
<%!
public String f(int i){
if(i<3)
return "i<3";
else
return "i>=3";
}
%>
每个JSP声明只在当前JSP页面有效。
3.Java程序片段
在JSP文件中,可以在<% 和%>标记间直接嵌入任何有效的JAVA语言代码。如何在page指令中method属性,则生成的代码默认为service方法的主体。
例如:
<%String gender="female"; if(gender.equals("female")){%>
She is a girl.
<%}else{%>
He is a boy.
<%}%>
以上代码等价于以下Servlet的service方法:
public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
PrintWriter out=response.getWriter();
String gender="female";
if(gender.equals("female"))
out.println("She is a girl.");
else
out.println("He is a boy");
}
4.jsp表达式
Jsp表达式标记为<%=和%>。该表达式的值会显示在网页上。int或者float类型的值都会自动转换成字符串加以显示。
<html>
<head>
<title></title>
</head>
<body>
<H1>You hit the page:
<%!int hitcount=1;%>//变量声明,相当于成员变量
<%int count=0;
hitcount=count++;%>//java脚本,count相当于局部变量
<%=hitcount++%>//表达式,没有分号;
times
</H1>
</body>
</html>
以上代码相当于
public class hitCounterServlet extends HttpServlet{
private int hitcount=1;
public void init()throws ServletException{
}
public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
int count=0;
hitcount=count++;
PrintWriter out=response.getWriter();
out.println("html");
out.println("<head><title>Welcome Page</title></head>");
out.println("<body>");
out.println("<H1>You hit the page:"+(hitcount++)+"times</H1>");
out.println("</body></hmtl>");
}
public void destroy(){
}
}
5.jsp隐含对象(request,response,pageContext,application,out,config,page,session,exception)
6.转发JSP请求
<jsp:forward>标签用于将客户请求重定向到其它html,jsp或者servlet文件。
语法:<jsp:forward page="重新定向的文件"/>
<jsp:forward>标签从一个JSP文件向另一个文件传递包含用户请求的request对象。
如果JSP文件中包含<jsp:forward>标签,那么这个JSP文件中的所有输出数据都不会被发送到客户端,并且<jsp:forward>标签以下的代码不会被执行。
Jsp语法简介的更多相关文章
- JSP语法
第3章 JSP语法 [本章专家知识导学] JSP是建立在Java语言基础上的一种Web程序设计语言,具有自己特有的用法和指令.本章首先介绍JSP页面的程序结构,然后讲述JSP程序中经常用到基本的面向 ...
- jsp标签简介
一.jsp标签简介 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. jsp的常用标签有 ...
- JSP EL简介
JSP EL简介:1.语法: ${expression} 2.[ ]与.运算符 EL 提供“.“和“[ ]“两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如.或?等 ...
- JSP 语法
JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代 ...
- JSP-Runoob:JSP 语法
ylbtech-JSP-Runoob:JSP 语法 1.返回顶部 1. JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达 ...
- freemarker语法简介
ftl是一种模板标记语言,用于渲染数据,输入html结构.语法简介如下: ${book.name} ${book.name?if_exists} //值是否存在 ${book.name??} //值是 ...
- JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象
1 什么是JSP 1)为什么说,Servlet是一个动态Web开发技术呢? Servlet是基于服务端的一种动态交互技术, HttpServletRequest表示客户端到服务端的 ...
- 在MyEclipse中如何去掉JS或jsp语法错误提示!
在MyEclipse中如何去掉JS或jsp语法错误提示! 关于在 MyEclipse 上 WEB 工程里面的 JS/JSP 经常会有语法错误提示,这是由于 MyEclipse 对其语法要求相当严格所造 ...
- Android系统Recovery工作原理之使用update.zip升级过程---updater-script脚本语法简介以及执行流程(转)
目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制. 一.update-script脚本语法简介: 我们顺着所生成的脚本 ...
随机推荐
- Git学习笔记一:新建本地仓库及初始化
1.百度搜索Git下载安装,直接按默认选项安装即可. 例如:Git-2.7.2-32-bit_setup.1457942412.exe 2.配置Git信息,建立版本仓库 (Alt+PrintScerr ...
- centos 6.5 升级php
1>追加CentOS 6.5的epel及remi源. # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-re ...
- Linux自动共享USB设备:udev+Samba
一.概述 公司最近要我实现USB设备插入Ubuntu后,自动共享到网络上,能像Windows共享一样(如\\192.168.1.10)访问里面的内容,不需要写入权限.当时听完这需求,我这新人表示惊呆了 ...
- AutoIt实现Webdriver自动化测试文件上传
在运用WebDriver进行自动化测试时,由于WebDriver自身的限制,对于上传文件时Windows弹出的文件选择窗口无法控制,通过在网上查找资料锁定使用AutoIt来控制文件上传窗口. Auto ...
- Harmonic Number(调和级数+欧拉常数)
题意:求f(n)=1/1+1/2+1/3+1/4-1/n (1 ≤ n ≤ 108).,精确到10-8 (原题在文末) 知识点: 调和级数(即f(n))至今没有一个完全正确的公式, ...
- 理解Storm并发
作者:Jack47 PS:如果喜欢我写的文章,欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 注:本文主要内容翻译自understanding-the-parall ...
- ASP.NET Web API 控制器执行过程(一)
ASP.NET Web API 控制器执行过程(一) 前言 前面两篇讲解了控制器的创建过程,只是从框架源码的角度去简单的了解,在控制器创建过后所执行的过程也是尤为重要的,本篇就来简单的说明一下控制器在 ...
- 详解this
this 虐我千百遍,看完此文效立见!不得不说,这篇文章的总结很地道很全面,适合收藏之用. 原文:all this 习惯了高级语言的你或许觉得JavaScript中的this跟Java这些面向对象语言 ...
- RangePartitioner 实现简记
摘要: 1.背景 2.rangeBounds 上边界数组源码走读 3.RangePartitioner的sketch 源码走读 4.determineBounds 源码走读 5.关于RangePart ...
- 异步与并行~List<T>是线程安全的吗?
返回目录 题目有点意思,大家都知道Dictionary<K,V>不是线程安全的类型,而List<T>是线程安全的吗?在今天之前大叔没有去测试过,而就在今天也是一个VIP问我,说 ...