JSP_02_JSP基础语法

1、JSP基础语法

<!--servlet依赖 https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>
        <!--jsp依赖 https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <!--jstl表达式的依赖 https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/javax.servlet.jsp.jstl-api -->
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>javax.servlet.jsp.jstl-api</artifactId>
            <version>1.2.2</version>
        </dependency>
        <!--standard标签库 https://mvnrepository.com/artifact/taglibs/standard -->
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

1、JSP表达式

<%--JSP表达式
作用:用来将程序的输出,输出到客户端
--%>
<%=new java.util.Date()%>

2、JSP脚本片段

<%--jsp脚本片段--%>
<%
int sum=0;
    for (int i = 0; i <50; i++) {
        sum+=i;
    }
    out.println("<h1>sum="+sum+"</h1>");
%>

3、在Java代码中嵌入HTML语句

<%--在Java代码中嵌入HTML语句--%>
<%
    for (int i = 0; i < 5; i++) {
%>
<h1>hello world<%=i%></h1>
<%
    }
%>

4、JSP声明

<%!
static {
    System.out.println("hello JSP");
}
private int globalvar =0;
public void kuang(){
    System.out.println("进入了方法kuang");
}
%>

2、JSP指令

<%@ page%>
<%@ include%>


<%--@include会将多个页面合二为一--%>
<%@include file="common/header.jsp"%>
<h1>网页主体</h1>
<%@include file="common/footer.jsp"%>

<hr>

<%--jsp标签
jsp:include拼接页面,本质还是三个,灵活性更高(推荐按使用)
--%>
<jsp:include page="/common/header.jsp"/>
<h1>网页主体</h1>
<jsp:include page="/common/footer.jsp"/>
<%--内置对象--%>
<%
    pageContext.setAttribute("name1","秦疆1号");//保存的数据只在一个页面中有效
    request.setAttribute("name2","秦疆2号");//保存的数据只在一次请求中有效,请求转发会携带这个数据,==>pageContext.setAttribute("name2","秦疆2号",REQUEST_SCOPE);
    session.setAttribute("name3","秦疆3号");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器,==>pageContext.setAttribute("name3","秦疆3号",SESSION_SCOPE);
    application.setAttribute("name4","秦疆4号");//保存的数据在服务器中有效,从打开服务器到关闭服务器==>pageContext.setAttribute("name4","秦疆4号",APPLICATION_SCOPE;
%>

<%
    //作用域:底层到高层,page——>request——>session——>application
    /*
    public static final int PAGE_SCOPE = 1;
    public static final int REQUEST_SCOPE = 2;
    public static final int SESSION_SCOPE = 3;
    public static final int APPLICATION_SCOPE = 4;
     */
    //jvm:双亲委派机制
    String name1 = (String) pageContext.findAttribute("name1");
    String name2 = (String) pageContext.findAttribute("name2");
    String name3 = (String) pageContext.findAttribute("name3");
    String name4 = (String) pageContext.findAttribute("name4");
    String name5 = (String) pageContext.findAttribute("name5");
%>

<%--使用EL表达式输出--%>
<h1>取出的值为:</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<h3>${name5}</h3>
<h3><%=name5%></h3>

<%--跳转--%>
<%
    pageContext.forward("/test03.jsp");//==>request.getRequestDispatcher("/test03.jsp").forward(request,response);
%>

3、JSP标签、JSTL标签和EL表达式

  1. 使用前需要引入依赖的jar包

    <!--jstl表达式的依赖 https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/javax.servlet.jsp.jstl-api -->
            <dependency>
                <groupId>javax.servlet.jsp.jstl</groupId>
                <artifactId>javax.servlet.jsp.jstl-api</artifactId>
                <version>1.2.2</version>
            </dependency>
            <!--standard标签库 https://mvnrepository.com/artifact/taglibs/standard -->
            <dependency>
                <groupId>taglibs</groupId>
                <artifactId>standard</artifactId>
                <version>1.1.2</version>
            </dependency>
    
  2. 另外JSTL标签使用前还需要做以下步骤:

    • 引入对应的taglib
    • 在tomcat的lib目录下也要手动添加jstl和standard包,否则可能会报错:JSTL解析错误
  3. JSTL标签

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%--引入JSTL核心标签--%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    
    <h2>if测试</h2>
    
    <hr>
    
    <form action="coreif.jsp" method="get">
        <input type="text" name="username" value="${param.username}">
        <input type="submit" value="登录">
    </form>
    
    <%--判断如果提交的用户名是管理员,则登陆成功--%>
    <c:if test="${param.username=='admin'}" var="isAdmin">
        <c:out value="欢迎管理员!"/>
    </c:if>
    <c:out value="${isAdmin}"/>
    
    </body>
    </html>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值