为了账号安全,请及时绑定邮箱和手机立即绑定

<%!代码%>和<% 代码%>的功能有什么区别?顺便请审阅一下我的写法和老师的写法各自的优劣。

我记得前面的课里说的是<%!代码%>用于写声明,<%代码%>用于写脚本。

项目练习自己用的时候,却发现没有什么功能上的差别。

下面是我的代码

<!-- 以下是自己写的 -->
   <%!
   	int i = 1;
   	int j = 1;
    %>
   <%
   		for(i=1;i<10;i++){
   			for(j=1;j<=i;j++){
   			out.print(i+"*"+j+"="+i*j+"&nbsp&nbsp&nbsp&nbsp");
  		 	}
   			out.println("<br>");
 		}
    %>
     <!-- 以下是imooc上的老师写的 -->
    <%!
    	String printMultiTable(){
    		String s = "";
    		for(int i=1;i<10;i++){
    			for(int j=1;j<=i;j++){
    				s+=i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;&nbsp;";
    			}
    			s+="<br>";
    		}
    		return s;
    	}
    %>
    <%=printMultiTable() %>


正在回答

2 回答

所有嵌套在html中的java代码必须使用scriptlet标记出来,在jsp中一共有三种scriptlet代码。

  1. <%%>: 可以定义局部变量,编写语句等

  2. <%!  %>: 可以定义一些全局变量、方法、类等,但是因为<%!%>中不能出现任何的其他语句,所以需要编写一个<%%>来输出变量、调用方法、输出对象。虽然<%!%>可以定义类、方法、变量,但是在开发中,jsp需要类和方法时,都是从javaBean中来调用

  3. <%=%>:主要是输出一个变量或者是一个具体的内容。

    关于out.print()和<%=%>两种输出方式常用那种?

    <%=%>输出的是变量或者具体内容,在jsp开发中,往往HTML代码也会有输出,这样能够让html代码和java代码有一个很好的分离






0 回复 有任何疑惑可以回复我~

jsp页面经过编译之后其实就是一个sevlet程序

<%!  java代码   %> 能定义成员变量和方法,相当于在方法外类中写的东西

<% java代码 %>只能定义局部变量和执行代码,相当于在方法中写的东西

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

<%!代码%>和<% 代码%>的功能有什么区别?顺便请审阅一下我的写法和老师的写法各自的优劣。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信