您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

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

来源:未知 责任编辑:责任编辑 发表时间:2013-12-06 08:45 点击:

应该知道的:


out是javax.servlet.jsp(SUN企业级应用的首选).jsp(SUN企业级应用的首选)Writer类的实例,jsp(SUN企业级应用的首选)页面是对Servlet进一步的封装。

问题:


假设jsp(SUN企业级应用的首选)文件名为usingout.jsp(SUN企业级应用的首选), 其中有一个函数声明:
<%!
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(SUN企业级应用的首选) 转换为 java文件后,查看java文件:
<%! ... %>中定义的函数,变量,最终作为文件类(class usingout)的成员函数和变量,而不是作

为servlet入口函数_jsp(SUN企业级应用的首选)Service中的成员函数或变量。

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

不难看出:out在_jsp(SUN企业级应用的首选)Service函数已定义并获得一个实例,因此,可以直接在<% ... %>中使用out,

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

如果非要在函数中使用out将某些错误信息输出到客户端,可以将javax.servlet.jsp(SUN企业级应用的首选).jsp(SUN企业级应用的首选)Writer类型变量作为函数参数。

同理可知:


在jsp(SUN企业级应用的首选)页面<%! ... %>中定义的函数在使用servlet中任何实例对象如:request, response, session, appacition, out等等,请不要直接拿来使用,如果要使用,请将这些实例对象作为参数传入。

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • JSP与Servlet
    • 自己动手写MiniBBS系列(基本篇)之用户登录
    • JSP取当前日期
    • JDBC 入门(一)
    • 打开一个jsp页面默认查询所有数据,调用action
    • 使用JSP标签库验证用户的输入(2)完
    • 自定义JSP标签(tag)浅议
    • WIN98/2000下的jsp服务器
    • JSP内建对象(二)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1