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
一楼正解。
很少用到<%!%>
一般的语句都写<%%>就行了

jsp页面中out.println()为什么不能写在<%!%>里面
如果不明白,你可以分别写了以后编译成.class文件,然后看看源码,就会明白,定义在不同的地方,在相应的类文件里面出现的位置是不一样的。

为什么在jsp中应该避免使用out.println()产生页面内容?
使用out是向客户端发送信息,这样使用会导致访问效率很低,而且容易出现不稳定的情况。

请问为什么jsp中不能用System.out.println()而要用out.println()
1、<% ... %>里面是用来放置JAVA代码片段的 2、System.out.println()用的是标准输出流,这个是输出在控制台上的,而JSP不是控制台程序,在out.println()中,out是response的实例,是以response为对象进行流输出的,即将内容输出到HTML代码中 3、因为受到HTTP协议的限制,JSP与桌面程序有很大的不同...

jsp中out.print()和out.println()的区别 不要说是换行呀
大哥,你们看清楚可好,这是在JSP中!!!println()虽然看似是换行,但转成网页之后,这种换行被认为是空格,所以输出的内容仍然在一行,用空格分隔,但右键点击页面查看源代码时,却能看出换行竟然对源代码起作用了。另外,在页面上需要换行的话,可以使用<br\/>。

jsp中定义方法时是不是不能使用out.println,为什么报错
<!%%>中是不能使用内置对象out的,需要在方法中传入参数JspWriter out 并捕捉IO异常

JSP提示错误500!!!
所有jsp页面的out.println("A ClassNotFoundException");需要用<%%>包含,因为此句话为java代码不是html语句。

为什么JSP的out.println报错?
因为这个是在tomcat server上面运行的,需要额外添加一个依赖库 File->Project structure->Modules->Dependencies->lib 添加一个tomcat 的lib库,前提你已经把tomcat配置了 没有添加之前这个是println是红色的。。。

为什么用了jsp内置对象 out.print却不能输出
是因为out.print输出的内容会显示在后台的控制器上,所以页面上看不到,要想看到可以使用c:out标签输出。<%@page contentType="text\/html;charset=gb2312"%><html><body><%@ page import = "java.util.Date"%><%out.println("This is printed by out.println.");System.out.println("This ...

jsp中的<%=表达式%>和<%表达式%>有什么区别?
<% %> 标识里面的是jsp代码。<%=变量 %> 是 <% out.println(变量) %> 的简写方式。jsp运行原理:JSP的本质就是一个Servlet,JSP的运行之前会先被Tomcat服务器翻译为.java文件,然后在将.java文本编译为.class文件,而在访问jsp时,处理请求的就是那个翻译后的类。<% %>:<% %>叫做脚本片段...

jsp页面内<%! %>是什么用法,为什么要加个“!”
平常开发是不用的.===补充 因为在<%! %>里 out.println...等等是方法 不是变量 说过了 里面只能声明变量和对象,int i = 3;String str = "abc";所有属于方法的 例如out.println();,System.out.println();这些是方法必须写在<% %>里,所以在<%! 里无法使用out....

相似回答