`
happmaoo
  • 浏览: 4473794 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JSP页面<% ... %>中怎样使用out及其它

阅读更多

应该知道的:


out是javax.servlet.jsp.JspWriter类的实例,JSP页面是对Servlet进一步的封装。

问题:


假设jsp文件名为usingout.jsp, 其中有一个函数声明:
void test(){
out.println("this is a test!"); // 编译出错!
}
%>

void test(){
? out.println("this is a test!"); // 编译出错!
}
%>

void test(){
? out.println("this is a test!"); // 编译出错!
}
%>

答案:


usingout.jsp 转换为 java文件后,查看java文件:
<%! ... %>中定义的函数,变量,最终作为文件类(class usingout)的成员函数和变量,而不是作

为servlet入口函数_jspService中的成员函数或变量。

<% ... %>中包含的jsp语句被包含在入口函数service中。
可以看到_jspService函数中开头:
JspWriter out = null;
out = pageContext.getOut();
这两句是usingout.jsp转为usingout.java文件时,由jsp应用伺服器自动添加的。

不难看出:out在_jspService函数已定义并获得一个实例,因此,可以直接在<% ... %>中使用out,

但要在<%! ... %>函数中使用out对象,由于out并未定义和实例化,编译出错!

如果非要在函数中使用out将某些错误信息输出到客户端,可以将javax.servlet.jsp.JspWriter类型变量作为函数参数。

同理可知:


在JSP页面&lt%! ... %>中定义的函数在使用servlet中任何实例对象如:request, response, session, appacition, out等等,请不要直接拿来使用,如果要使用,请将这些实例对象作为参数传入。

分享到:
评论

相关推荐

    jsp网络编程ppt

    jsp网络编程的PPT,适合菜鸟使用。 第一个JSP程序 &lt;%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; &lt;html&gt; &lt;...

    spring_MVC源码

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...

    简易聊天室

    简易聊天室本次实验的目的是通过以下题目掌握JSP内置对象,包括:request,response,session,application等。 (1)制作简易聊天室,能够实现简单的页面聊天功能。 (2)制作网页计数器,要求相同的窗口内刷新页面访问...

    分享JSP中文乱码解决方法

    一、JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码。 先看一个JSP程序: &lt;&#37;@ page language=java import=java.util.* %&gt; &lt;html&gt;...

    JSP教程(一)

    例如,这儿有一个JSP页面: &lt;html&gt;&lt;head&gt;&lt;title&gt;jsp教程&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;I&gt;&lt;&#37;out.println(“hello world”);%&gt;&lt;/I&gt;&lt;/body&gt;&lt;/html&gt;它将输出“hello ...

    简单的servlet增,删,改,查

    import java.io.IOException...%=users.getId()%&gt;'&gt;删除&lt;/a&gt;&nbsp; &lt;a href='updateUser.jsp'&gt;更新&lt;/a&gt;&nbsp; &lt;a href="login.jsp"&gt;登陆&lt;/a&gt;&lt;/td&gt; &lt;% } %&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt;

    jsp学习之scriptlet的使用方法详解

    jsp页面中分三种scriptlet: 第一种:&lt;&#37; %&gt; 可以在里面写java的代码。定义java变量以及书写java语句。 第二种:&lt;&#37;! %&gt; 可以在里面定义全局变量以及方法,类。 第三种:&lt;&#37;=%&gt; 用于打印变量...

    jsp+servlet的内容.doc

    - **隐藏域**: 在表单中使用隐藏字段来传递会话ID,安全性较低。 **6. HTML 标记处理** 在Web开发中,HTML标记需要转义,如 `转义为 `&lt;`,`&gt;` 转义为 `&gt;`,`"` 转义为 `&quot;`,`'` 转义为 `&apos;`,`&` ...

    VereWebMVC案例(从数据到前端页面)

    在 test/WebContent 中新建一个 test.jsp 文件 &lt;%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%&gt; &lt;!DOCTYPE ...

    在jsp页面中实现跳转的方式分享

    1.每秒递减跳转 代码如下:[removed] function out(obj){ var i = obj ; if(i==0) [removed].href=”index.jsp”; document.body[removed] = i; i–; setTimeout(“out(“+i+”)”,1000); } [removed] &lt;body ...

    VereMVC至简mvc微架构

    8.在 test/WebContent 中新建一个 test.jsp 文件 &lt;%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%&gt; &lt;!DOCTYPE ...

    jsp公共分页

    jsp分页公共类 private int page 1; 当前是第几页 private int pageCount 15; 当前页显示几条数据 private int maxPage; 共多少条页 private int maxCount; 共多少条数据 public PageBean {} public ...

    action源码java-gerenciamnto-de-tarefas:用户@DESKTOP-4Q3U2OKMINGW64〜/桌面/math

    JSP页面&lt;/ title&gt; &lt;/ head&gt; &lt;/ head&gt; Hello World!&lt;/ h1&gt; &lt;%int dia = Integer.parseInt(((new SimpleDateFormat(“ dd”)).format(new Date()))); out.println(“ 今天是天” +...

    JSP API接口和返回的版本

    JS JSP ASP .NET J2AM API接口和返回的版本 目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译...

    jsp自己的经验总结

    JSP提供了一些内置对象,如`request`、`response`、`session`等,它们是预定义的,可以直接在JSP页面中使用,简化了编程。 - **EL和JSTL** 表达式语言(EL)简化了数据访问,而JSTL(JavaServer Pages Standard ...

    JSP由浅入深(7)—— JSP Directives

    在前面的教程中,我们已经使用了java.util.Date。可以有人就会问:为什么不只使用import java.util.*呢?其实,在JSPs中也可以使用import语句,但是它的语法跟普通的Java是有些差别的。下面给出一个例子:&lt;&#37;@...

    jsp简单自定义标签的forEach遍历及转义字符示例.docx

    除了标签处理器类之外,还需要为这个标签编写TLD (Tag Library Descriptor) 文件,以便在JSP页面中使用这个标签。 ```xml &lt;tag-name&gt;forEach2 &lt;tag-class&gt;com.example.items.ForEachTag2&lt;/tag-class&gt; ...

    JAVAWEB面试笔试题.pdf

    9. out:输出,但是尽量使用表达式输出。 二、JSP动作 JSP动作共有6种基本动作: 1. &lt;jsp:include page="" /&gt;:在页面被请求的时候包含一个文件。 2. &lt;jsp:useBean id="" class="" scope="application page ...

    JS JSP ASP .NET J2AM API接口和返回的版本

    JS JSP ASP .NET J2AM API接口和返回的版本 目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译...

    Struts2上传文件出错

    -- Action名字,类以及导航页面定义 --&gt; &lt;!-- 通过Action类处理才导航的的Action定义 --&gt; &lt;action name="upload" class="com.aptech.action.UploadAction"&gt; &lt;result name="upload"&gt;/upload.jsp ...

Global site tag (gtag.js) - Google Analytics