jsp中常用的脚本
a. 声明脚本(较少使用)
声明脚本的格式: <%! 声明java代码 %>
作用: 可以给jsp翻译出来的java类定义属性和方法静态代码块,内部类.
<%-- 1.声明脚本->声明类属性--%>
<%!
private BigDecimal id;
private String name;
private static Map<String,Object> map;
%>
翻译出来为:
private BigDecimal id;
private String name;
private static Map<String,Object> map;
<%--2.声明脚本->定义静态代码块--%>
<%!
static {
map = new HashMap<String,Object>();
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
}
%>
翻译出来为:
static {
map = new HashMap<String,Object>();
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
}
<%--3.声明脚本->声明类的方法--%>
<%!
public int abc(){
return 9;
}
%>
翻译出来为:
public int abc(){
return 9;
}
<%--4. 声明脚本->声明内部类--%>
<%!
public static class A{
private Integer id =12;
private String abc="hello world";
}
%>
翻译出来为:
public static class A{
private Integer id =12;
private String abc="hello world";
}
b. 表达式脚本(常用)
表达式脚本的格式是: <%=表达式%>
作用: 在jsp页面上输出数据.
<%--1.表达式脚本->输出整型--%>
<%=12%> <br>
<%--2.表达式脚本->输出浮点型--%>
<%=12.12%> <br>
<%--3.表达式脚本->输出字符串--%>
<%="hello world"%> <br>
<%--4.表达式脚本->输出对象--%>
<%=map%> <br>
<%--5.表达式脚本->在地址栏加入参数 ?admin即可获得参数--%>
<%=request.getParameter("username")%>
特点: 1.所有的表达请求都会被翻译到_jspService()方法中;
2. 表达式脚本都会被翻译成为out.println()输出到页面上(a_jsp.java中可见);
3. 由于表达式脚本翻译的内容都在_jspService()方法中,所以 _jspService() 方法中的对象都可以直接使用.
4. 表达式脚本中的脚本不能以分号结束
c. 代码脚本
格式: <% java语句 %>
作用: 在jsp页面中,编写我们自己需要的功能(写的是java语句)
特点:
- 代码脚本翻译出来之后都在_jspService()方法中
- 代码脚本由于翻译到_jspService()方法中,所以 _jspService()方法中的现有对象都可以直接使用.
- 代码脚本可以由多个代码脚本块组合成一个完整的java语句.
- 代码脚本和表达式脚本组合使用,数据可以被输出到页面上
<%--1.代码脚本(控制台输出): if语句--%>
<%
int i =1;
if (i==1){
System.out.println("哆啦A梦有神奇的口袋!");
}else {
System.out.println("哆啦A梦没有神奇的口袋!");
}
%>
翻译出来为:
<%--2.代码脚本(控制台输出): for循环语句--%>
<%
for (int j=0;j<10;j++){
System.out.println("哆啦A梦从口袋中拿出了第"+j+"种神奇的东西");
}
%>
翻译出来为:
<%--3.代码脚本(控制台输出): 翻译后的java文件中_jspService方法中的对象 可以直接使用--%>
<%
String username = request.getParameter("username");
System.out.println("地址栏中请求的参数是:"+username);
%>
翻译出来为:
<%--4.组合脚本:代码脚本与表达式脚本的组合使用 写一个表格--%>
<table border="1" cellspacing="1">
<%
for (int j=0;j<10;j++){
%>
<tr>
<td>
哆啦A梦从口袋中拿出了第
<%=j+1%>
种神奇的东西 <br>
</td>
</tr>
<%
}
%>
</table>
翻译成为: