JSP中的脚本使用

x33g5p2x  于2022-02-20 转载在 其他  
字(3.3k)|赞(0)|评价(0)|浏览(396)

jsp中的常用脚本(很少用)

声明脚本

表达式脚本(常用)

表达式脚本的特点:

_jspServlet类中

代码脚本

代码脚本的特点

jsp的三种注释

jsp中的常用脚本(很少用)

声明脚本

声明脚本的格式是:<%!   声明java代码     %>

**作用:**可以给jsp翻译出来的java类定义属性和方法甚至是静态代码块,内部类等。

练习:
      1、声明类属性

       2、声明static静态代码块

        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源文件中

 表达式脚本(常用)

表达式脚本的格式:<%=表达式%>

表达式脚本的作用是:在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的三种注释

html注释:

<!-- html注释-->

java注释:

<%
    //java单行注释
     /* java多行注释 */

%>

jsp注释

<%--jsp注释--%>

java注释会被翻译到java源代码中。jsp注释可以注释jsp页面中的所有代码

相关文章