コンテンツ
jspの一般的なスクリプト(めったに使用されません)
宣言型スクリプト
宣言スクリプトの形式は次のとおりです。<%!declare java code%>
機能:静的コードブロック、内部クラスなど、jspから変換されたJavaクラスのプロパティとメソッドを定義できます。
練習:
1.クラス属性を宣言します
2、静的静的コードブロックを宣言します
3.クラスメソッドを宣言します
4.内部クラスを宣言します
b.jspページの下:
<html>
<head>
<base href="<%=basepath %>"/>
<meta charset="utf-8"/>
<title>Insert title here</title>
</head>
<body>
<%--1、声明类属性--%>
<%!
private int id;
private String name;
private static Map<String,Object> map;
%>
<%-- 2、声明static静态代码块--%>
<%!
static {
map=new HashMap<>();
map.put("key1","value1" );
map.put("key2","value2" );
map.put("key3","value3" );
}
%>
<%--3、声明类方法--%>
<%!
public static boolean isMan(){
return false;
}
%>
<%--4、声明内部类--%>
<%!
private class Inner{
private int num=10;
private String sex="男";
}
%>
</body>
</html>
jsp.javaソースファイル
式スクリプト(一般的に使用されます)
式スクリプトの形式:<%= expression%>
式スクリプトの役割は、jspページにデータを出力することです。
練習:
1.出力シェーピング
2.出力浮動小数点タイプ
3.出力文字列
4.出力オブジェクト
<%--表达式练习--%>
<%--1、输出整形--%>
<%= 12%> <br>
<%--2、输出浮点型--%>
<%=13.14%> <br>
<%--3、输出字符串--%>
<%="这是一个字符串"%> <br>
<%--4、输出对象--%>
<%=map%> <br>
</body>
実行後:
ソースファイル:
式スクリプトの機能:
1.すべての式スクリプトは_jspServlet()メソッドに変換されます
2.式スクリプトはout.print()に変換され、ページに出力されます
3.式スクリプトによって変換されたコンテンツは_jspServlet()メソッドにあるため、_jspServlet()メソッドのオブジェクトを直接使用できます。
4.式スクリプトの式をセミコロンで終わらせることはできません。
_jspServletクラス
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
final java.lang.String _jspx_method = request.getMethod();
if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method) && !javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS");
return;
}
final javax.servlet.jsp.PageContext pageContext;
javax.servlet.http.HttpSession session = null;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
}
コードスクリプト
コードスクリプトの形式は次のとおりです。<%javaステートメント%>
スクリプトの役割はコードです。jspページでは、必要な関数を記述できます(Javaステートメントで記述)。
練習:
1.コードスクリプト-ifステートメント
2.コードスクリプト-ループステートメント
3.変換されたJavaファイルの_jspServiceメソッドのコードを記述できます
<%--1、代码脚本——if语句--%>
<%
int i=1;
if(i==1){
System.out.println("2022年2月寒假中");
}else{
System.out.println("马上要开学了");
}
%>
<%--2、代码脚本——循环语句--%>
<%
for(int j=0;j<5;j++){
System.out.println(j);
}
%>
<%--3、翻译后java文件中_jspService方法内的代码都可以写--%>
<%
String username = request.getParameter("username");
System.out.println("username为"+username);
%>
</body>
演算結果:
jspソースコードの場合:
コードスクリプトの機能
1.コードスクリプトが変換された後、それは_jspServiceメソッドにあります
2.コードスクリプトは_jspService()メソッドに変換されるため、_jspService()メソッドの既存のオブジェクトを直接使用できます。
3.複数のコードスクリプトブロックを組み合わせて、Javaステートメントを完成させることもできます
4.コードスクリプトを式スクリプトと組み合わせて使用して、jspページにデータを出力することもできます。
<table border="1" cellspacing="0">
<%
for(int j=0;j<5;j++){
%>
<tr>
<td><%=j%></td>
</tr>
<%
}
%>
</table>
jspページ:
jspの3つの注釈
htmlコメント:
<!-- html注释-->
javaアノテーション:
<%
//java单行注释
/* java多行注释 */
%>
jspコメント
<%--jsp注释--%>
JavaコメントはJavaソースコードに変換されます。jspコメントは、jspページのすべてのコードにコメントできます