一.JSP表达式
表达式语法如下:
<%= 变量/返回值/表达式 %>
举个例子:
expression.jsp
<%@ page language = "java" pageEncoding = "gb2312" %>
<html>
<head>
<title>expression</title>
</head>
<body>
<%
String name = "Jack";
String msg = "欢迎您来到教务管理系统!";
%>
<br>
<%= name + "," + msg %>
</body>
</html>
在浏览器输入http://localhost:8080/Prj02/expression.jsp ,如下图:
总结:
1.<%= msg %>
等价于<% out.println(msg); %>
2.JSP表达式不能用“;”结束
3.在JSP中不能出现多条语句
4.JSP表达式里面的内容一定是out.println能够支持的类型,或者通过toString函数转换成字符串的形式。
二.JSP程序段
2.1什么是JSP程序段
JSP程序段就是插入到JSP程序的Java代码段。语法如下:
<% Java代码段 %>
2.2编写JSP程序段
coursenames.jsp
<html>
<head>
<title>coursenames</title>
</head>
<body>
<%
String[] coursenames = {"Java", "C++", "大学物理"};
out.println("课程数量:" + coursenames.length);
%>
<hr><!-- 这是一条横线的HTML标签 -->
<%
for(int i = 0; i < coursenames.length; i++){
out.println(coursenames[i]);
out.println("<br>");
}
%>
</body>
</html>
在浏览器输入**http://localhost:8080/Prj02/coursenames.jsp **,如下图:
2.3程序段中的变量作用范围
scriptlet_error.jsp
<html>
<head>
<title>scriptlet_error</title>
</head>
<body>
<%
out.println(name + "," + msg);
%>
<%
String name = "Jack";
String msg = "欢迎您来到教务管理系统";
%>
</body>
</html>
在浏览器输入http://localhost:8080/Prj02/scriptlet_error.jsp ,如下图:
总结: 500错误是指程序不能通过编译,编译失败。因此变量msg,name在没有定义以前是不允许被使用的。
三.JSP声明
3.1什么是JSP声明
JSP声明中可以定义网页中的全局变量。而且不存在需要先声明后使用的规则。即使用JSP声明可以在任何地方定义变量,实际开发中,还可以在JSP声明中定义方法、类的声明。语法如下:
<%! 代码 %>
3.2编写JSP声明
declaration1.jsp
<%@ page language = "java" pageEncoding = "gb2312" %>
<html>
<head>
<title>declaration1</title>
</head>
<body>
<%
out.println(name + "," + msg);
%>
<%!
String name = "Jack";
String msg = "欢迎您来到教务管理系统";
%>
</body>
</html>
在浏览器输入http://localhost:8080/Prj02/declaration1.jsp , 如下图:
declaration2.jsp
<%@ page language = "java" pageEncoding = "gb2312" %>
<html>
<head>
<title>declaration2</title>
</head>
<body>
<%!
//方法定义
private String showMsg(String name, int score){
String msg = ",你的考试成绩是:";
return name + msg + score;
}
%>
<%
String tempStr = showMsg("Jack", 85);
out.println(tempStr);
%>
</body>
</html>
在浏览器输入http://localhost:8080/Prj02/declaration2.jsp ,如下图:
注意: 在JSP声明中只能作定义,但不能实现控制逻辑。例如,不能在其中使用out.println
摘自《Java Web 开发与应用》,主编郭克华,副主编宋虹,清华大学出版社
欢迎小伙伴来评论啊~~