jsp页面中out.println()为什么不能写在<%!%>里面

如题所述

<%! %>里面用来定义全局变量和方法的,
像你这些打印语句应该写在<% %>里面、

如果不明白,你可以分别写了以后编译成.class文件,然后看看源码,就会明白,定义在不同的地方,在相应的类文件里面出现的位置是不一样的。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
在jsp页面可以有三种方式插入java代码,分别是:<%!%>,<%%>,<%=%>。
这三种方式分别有不同的使用方式:<%!%>用于在jsp页面定义变量和方法;<%=%>用于在jsp页面显示(向页面输出,现在在页面上)某个变量值,或方法调用的返回值,总之显示是一个值的,可以替代out.println();<%=%>用于在jsp页面执行java语句,如实例化对象,调用方法等,在这里面也可以定义变量,但要想输出就得使用out.println()方法。
所以out.println()是一个执行语句是不能够放在<%!%>里面的,只能放在<%%>里面。本回答被提问者采纳
第2个回答  2012-08-27
<%! %>里面写的是定义性的语句,比如String s=""之类的,
out.println() 调用方法请写在<% %>里面
第3个回答  2012-08-27
一楼正解。
很少用到<%!%>
一般的语句都写<%%>就行了
相似回答