zoukankan      html  css  js  c++  java
  • JSP的基本语法

    JSP的基本语法

    一、JSP页面中的JAVA代码

    1、JSP表达式(格式:<%=%>)

    1     <%=2+2%>
    2     <%=xx.getName()%>
    3     <%=xx.getName()+“str”%>

    注意:表达式结束不需要写分号。

    这种形式的Java代码在转译成Servlet时,<%= %>内的代码会成为service()方法中使用out.print语句的输出。

    1     out.print(2+2);
    2     out.print(xx.getName());
    3     out.print(xx.getName()+“str”));

    2、JSP小脚本(格式:<%%>)

     1     <table>
     2     <% 
     3        List<Student> students = (List<Student>)request.getAttribute(“students“);
     4        for(Student st : students){
     5     %>
     6               <tr>
     7                   <td> <%=st.getId()%>    </td>
     8                   <td> <%=st.getName()%>  </td>
     9               </tr>
    10     <%
    11         }
    12     %>
    13     </table>

    以上代码使用小脚本动态生成一个表格。<% %>内的代码最终都会成为service方法的一部分,转换结果如下:

     1     public void service(…){
     2       out.write(“<table>”);
     3       List<Student>  students = (List<Student>)request.getAttribute(“students“);
     4       for(Student st : students){
     5          out.write(“<tr> <td>”);
     6          out.print(st.getId());
     7          out.write(“</td><td>”);
     8          out.print(st.getName());
     9          out.write(“</td></tr>”);
    10       }
    11       out.write(“</table>”);
    12     }

    3、JSP声明(格式:<%! %>)

    1     <%!
    2         private String name; //属性声明
    3 
    4         public void fun(){   //方法声明
    5             //…  方法体
    6         }
    7     %>

     JSP声明<%! %>内的代码可以为对应的Servlet添加属性和方法,转换为Servlet之后的结果如下:

     1     public class XXX_JSP extends JSPBase{
     2         private String name; //属性声明
     3        
     4         public void fun(){    //方法声明
     5            // … 方法体
     6         }
     7 
     8          public void  service(… …){
     9                
    10          }
    11     }

    二、JSP页面中的指令

    1、page指令

    page指令可以导入java包,也可以对页面的一些属性进行设置。

    1     <%-- 导包 --%>
    2     <%@ page import=“java.util.*“%>
    3     <%@ page import=“java.util.*,java.sql.*“%>
    4 
    5     <%-- 设置response.setConentType方法的参数值 --%>
    6     <%@ page contentType=“text/html;charset=utf-8“%>
    7 
    8     <%-- 设置容器读取该文件时的解码方式 --%>
    9     <%@ page pageEncoding=“UTF-8“%>

    (1)使用page指令导包时,需要用到import属性。如果需要导入多个包,可以分成多条page指令来编写,也可以在一条page指令中,使用“,“逗号作为分隔来实现。

    (2)contentType属性,设置输出内容的编码方式,这样就可以设置浏览器使用正确的解码方式来显示页面。

    (3)pageEncoding属性,设置容器读取该文件时的解码方法,这段代码可以保证页面在加载到内存时正确的解码中文。

    注意,page指令要放在页面的最上面编写。

    2、include指令

    include指令主要用于将其他页面包含在另一个页面之中,可以实现页面内容的重用。include指令的语法如下:

    1 <%@ include file=“thetitle.html” %>

    3、taglib指令

    可引入JSTL的标签库,将标签库对应的jar包拷贝到WEB-INF/lib目录下,以便于系统可以加载所需要的类。使用taglib指令在页面上引入标签的命名空间和前缀,帮助系统定位对应的类。

    1     <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

    三、JSP页面中的隐含对象(九大内置对象)

    由于JSP页面最终要转化为一个Servlet,而作为即将转变为Servlet的一个前期版本,会有很多系统提供给页面能够直接使用的对象,根据页面中要实现的功能直接使用即可。具体的隐含对象信息见下表:

    隐含对象 类型 说明
    request HttpServletRequest 代表请求对象
    response HttpServletResponse 代表响应对象
    out JSPWriter 输出流
    session HttpSession 会话
    application ServletContext 全局的Servlet上下文对象
    pageContext PageContext JSP页面上下文
    page Object 代表JSP页面本身,即this
    config ServletConfig Servlet配置对象
    exception Throwable 捕获的页面异常对象
  • 相关阅读:
    USACO Section 2.2 Subset Sums
    九度 1399 名侦探柯南
    九度 1416 猴子吃坚果
    pch文件的使用(原作者太逗了)
    线程同步
    extern "c"
    进程与线程
    排序算法代码汇总
    Linux Shell 常用命令与目录分区的学习总结 (开始学习linux)
    堆和栈
  • 原文地址:https://www.cnblogs.com/koala2016/p/5680353.html
Copyright © 2011-2022 走看看