JSP中的脚本使用

举报
执久呀 发表于 2022/07/25 21:37:41 2022/07/25
【摘要】 ​目录jsp中的常用脚本(很少用)声明脚本 表达式脚本(常用) 表达式脚本的特点:_jspServlet类中代码脚本 代码脚本的特点jsp的三种注释jsp中的常用脚本(很少用)声明脚本声明脚本的格式是:<%!   声明java代码     %>作用:可以给jsp翻译出来的java类定义属性和方法甚至是静态代码块,内部类等。练习:        1、声明类属性         2、声明stat...

目录


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页面中的所有代码

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。