JSPでのスクリプトの使用

コンテンツ

jspの一般的なスクリプト(めったに使用されません)

宣言型スクリプト

 式スクリプト(一般的に使用されます)

 式スクリプトの機能:

_jspServletクラス

コードスクリプト

 コードスクリプトの機能

jspの3つの注釈


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ページのすべてのコードにコメントできます

おすすめ

転載: blog.csdn.net/weixin_60719453/article/details/122958886