jsp中的局部变量

<%--
  Created by IntelliJ IDEA.
  User: N3verL4nd
  Date: 2017/4/20
  Time: 9:23
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%
    //获取基地址
    String contextPath = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" +
                request.getServerPort() + contextPath + "/";
%>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>测试</title>
    <%--basePath,但只能在查看源文件里面显示值--%>
    <base href="<%= basePath %>">
</head>
<body>
    <a href="hello.view">hello</a>
    <br />

    <%
        //java代码片段(常用),用于定义0~N条Java语句!方法内能写什么,它就可以放什么!
        int x = 10;
    %>

    <%
        out.print(x++);//永远输出10,因为没有this那x就是局部变量
    %>

    <br />

    <%= x %><!-- 作用和out.print(x)一样 ,因为上面输出x后x加了1所以永远输出11,无论刷新多少次-->
    <br />

    <!-- 下面这个x是全局变量 -->
    <%!
        int x = 100;
        public void fun(){
            System.out.println(x);
        }
    %>

    <%
        out.print(this.x++);//调用的是声明的那个变量x,页面输出值,因为 这个x是全局变量,所以刷新页面原来的值还在
        fun();//控制台输出
    %>

</body>
</html>

<%--<%...%>:java代码片段(常用),用于定义0~N条Java语句!方法内能写什么,它就可以放什么!--%>
<%--<%=...%>:java表达式,用于输出(常用),用于输出一条表达式(或变量)的结果。response.getWriter().print( ... );这里能放什么,它就可以放什么!--%>
<%--<%!...%>:声明,用来创建类的成员变量和成员方法(基本不用,但容易被考到),类体中可以放什么(成员,方法。。),它就可以放什么!--%>


<base href="<%=basePath%>">

base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。 

你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。

jsp页面可以定义:<% String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>

在head标签内加上<base href="<%=basePath%>" >即可。


当我们设置为<base href="http://www.baidu.com">,那你下面的href属性就会以你上面设的为基准

<a href="xxx.htm"></a> 等价于<a href="http://www.baidu.com/xxx.htm"></a>


由于我们是以Gradle构建的项目,没有引入jsp-api,导致我们在使用out.println报错

 Cannot resolve method 'println(java.lang.String)

我们添加依赖即可:

providedCompile group: 'javax.servlet', name: 'jsp-api', version: '2.0'


参考:

http://stackoverflow.com/questions/3914139/intellij-9-unable-to-recognize-implicit-object-methods-in-jsps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

N3verL4nd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值