JSP注释及scriptlet <%局部%><%!全局%><%=输出%>
- 显示注释:
<!--注释内容-->>
- 隐式注释:
1. //
2./* */
3. <%-- 注释内容--%>
<!-- 这个注释客户端就可以看见 -->
<!-- JSP中的注释,客户端无法看见 -->
<%
// Java中提供的单行注释,客户端无法看见
/*
Java中提供的多行注释,客户端无法看见
*/
%>
<%-- 也看不见 --%>
打开jsp文件后,一片空白,右键,编码选择简体中文后,右键选择查看源文件可以发现以下内容:
<!-- 这个注释客户端就可以看见 -->
<!-- JSP中的注释,客户端无法看见 -->
- Scriptlet
脚本小程序,在jsp中有3种scriptlet代码:
1. <%%>,其中可以定义局部变量,编写语句
<%
int x = 10 ; // 定义局部变量
String info = "www.mldnjava.cn" ; // 局部变量
out.println("<h2>x = " + x++ + "</h2>") ; // 语句
out.println("<h2>info = " + info + "</h2>") ; // 语句
%>
2. <%!%>,其中可以定义全局变量,方法,类
一般声明全局变量比较多,方法和类不用这种方法
<%!
public static final String INFO = "www.MLDNJAVA.cn" ;
int x = 10 ;
%>
<%
out.println("<h2>x = " + x++ + "</h2>") ; // 语句
%>
<%!
public int add(int x,int y){
return x + y ;
}
%>
<%!
class Person{
private String name ;
private int age ;
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public String toString(){
return "name = " + this.name + ";age = " + this.age ;
}
}
%> <%
out.println("<h3>INFO = " + INFO + "</h3>") ;
out.println("<h3>3 + 5 = " + add(3,5) + "</h3>") ;
out.println("<h3>" + new Person("zhangsan",30) + "</h3>") ;
%>
3. <%=%>,其中可以输出一个变量或一个具体内容
<%
String info = "www.MLDNJAVA.cn" ; // 局部变量
int temp = 30 ;
%>
<h3>info = <%=info%></h3>
<h3>temp = <%=temp%></h3>
<h3>name = <%="LiXingHua"%></h3>
问题:out.println()和 <%=%>用后者比较好,看以下的例子:
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<%
int rows = 10 ;
int cols = 10 ;
%>
<table border="1" width="100%">
<%
for (int x=0;x<rows;x++){
%>
<tr>
<%
for(int y=0;y<cols;y++){
%>
<td bgcolor="#00CC33"> <%=x*y%></td>
<%
}
%>
</tr>
<%
}
%>
</table>
</body>
</html>
虽然代码复杂,但是HTML和JAVA分离,清晰。
通过交互性打印表格:
之前打印表格的行数和列数都是固定的,下面通过一个交互性的 操作,完成用户输入表格的行数和列数 的功能,并进行显示。
input_table.html: <html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<form action="print_table.jsp" method="post">
<table border="1" width="100%">
<tr>
<td>请输入要显示表格的行数:</td>
<td><input type="text" name="row"></td>
</tr>
<tr>
<td>请输入要显示表格的列数:</td>
<td><input type="text" name="col"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="显示">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>
JSP注释及scriptlet <%局部%><%!全局%><%=输出%>的更多相关文章
- JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象
1 什么是JSP 1)为什么说,Servlet是一个动态Web开发技术呢? Servlet是基于服务端的一种动态交互技术, HttpServletRequest表示客户端到服务端的 ...
- jsp注释方式
1,HTML的注释方法 <!--...add your comments here...--> 说明:使用该注释方法,其中的注释内容在客户端浏览中是看不见的.但是查看源代码时,客户是可以看 ...
- JSP注释格式
一.JSP注释格式来源 JSP是Sun Microsystems公司制定的一种服务器端动态网页技术的组件规范,其主体由HTML.CSS.JavaScript和Java拼凑组成. 正是因为JSP是一种组 ...
- Struts 2 动作注释 配置动作扩展 全局开关
动作注释package com.yiibai.user.action; import org.apache.struts2.convention.annotation.Action; import o ...
- out.write()和out.print()区别,jsp注释区别
out.write()和out.print()结果一样,都是输出内容 前者输出html内容 后者输出变量 5 JSP注释 我们现在已经知道JSP是需要先编译成.java,再编译成.class的.其中& ...
- jsp 变量和方法的声明 Java程序片 HTML注释 JSP注释
<%!...%> 声明变量和方法 <%!...%>之中的变量为JSP页面的成员变量,当多个线程访问本页面时,多个线程共享此变量. <%@ page contentType ...
- 有关JSP注释
最近学习过滤器的时候,dispatcher可以指定过滤器被Servlet容器拦截的方式,可以是REQUEST.INCLUDE.FORWARD.ERROR,默认是REQUEST方式. 现在有两个filt ...
- eclipse调试jsp中的scriptlet代码
在eclipse开发环境下,jsp中的scriptlet代码,也就是<%%>中的java代码,跟普通的java代码一样可以打断点单步调试的! 做个笔记,免得自己忘了!
- JSP基础:JSP指令、JSP注释、JSP脚本、JSP声明、JSP表达式
JSP指令分为:page指令.include指令.taglib指令. page指令:通常位于JSP页面的顶端,同一个页面可以有多个页面指令. 语法:<%@ page language=" ...
随机推荐
- 数据库出现1045 access denied for user 'root'@'localhost' using password yes (转)
在mysql命令行中执行 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); GRANT ALL PRIVILEGES ON *.* ...
- js--闭包的理解
从技术上来讲,在JS中,每个function都是闭包,因为它总是能访问在它外部定义的数据. 当该内部函数在外部函数外被调用,就生成了闭包. 函数内部可以直接读取全局变量. 闭包就是能够读取其他函数内部 ...
- UVa 679 Dropping Balls (例题 6-6)
传送门:https://uva.onlinejudge.org/external/6/p679.pdf 题意:在一颗结点带开关的完全二叉树上扔球,初始时开关为关闭状态,树的深度为D(1 <= D ...
- mog使用指南
mog使用指南 mgo简介 mgo(音mango)是MongoDB的Go语言驱动,它用基于Go语法的简单API实现了丰富的特性,并经过良好测试. 官方网站:http://labix.org/mgo. ...
- Django中使用ModelForm实现Admin功能
接上一篇<Django中使用Bootstrap> ModelForm 可以将数据库中的信息展示在一个表中,因此我们在查询数据库信息时可以使用ModelForm在前端展示查询到的信息. 在上 ...
- 消息同步调用-- ESFramework 4.0 进阶(07)
分布式系统的构建一般有两种模式,一是基于消息(如Tcp,http等),一是基于方法调用(如RPC.WebService.Remoting).深入想一想,它们其实是一回事.如果你了解过.NET的Prox ...
- 重登陆模式 --ESFramework 4.0 快速上手(07)
在ESFramework框架中基于TCP的服务端引擎(当然也包括Rapid引擎)都采用了这样一条规则:默认情况下,客户端与服务器成功建立TCP连接以后,服务端会从客户端发过来的第一条消息中取出消息头的 ...
- DOS/VBS - 用 bat 批处理 实现自动telnet
一.VBS法 1. 建立一个tel.vbs脚本 '建立Shell对象 set sh=WScript.CreateObject("WScript.Shell") WScript.Sl ...
- markdown 自己搞一个浏览工具
注意!`下不能有空行 `上也不能有空行 问题未解决 <!DOCTYPE html> <html lang="en"> <head> <me ...
- 杭电三部曲一、基本算法;19题 Cow Bowling
Problem Description The cows don't use actual bowling balls when they go bowling. They each take a n ...