谁给我说说<%@include>与 <jsp:include>的异同和<jsp:useBean>的作用

如题所述

<%@include>是指令,<jsp:include>是动作,1.include动作包含文件可以是静态或动态的。include指令只能包含静态文件。
2.Include动作与include指令的最大区别: Include动作可将包含文件编译后的结果插入到当前位置,如果包含文件被改动了,它能判断出包含文件已被改动,并对包含文件重新编译;
而include指令是把包含文件插入到当前位置后再编译,若包含文件改动了则无法得知,我们必须要重新将JSP页面转译成java文件(可将该JSP页面重新保存,然后再访问,就可产生新的转译Java文件),否则只能看到所包含的修改前的文件内容。
3. JSP动作先处理各自文件,然后包含相应文件;JSP指令先包含文件,然后再处理。
当JSP引擎把JSP页面转译成Java文件时,不把JSP页面中动作指令include所包含的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才包含进来。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是jsp文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。
总之,指令先包含后处理,动作先处理后包含。
第二个问题:useBean 动作
该标签用来创建并使用一个java beans,是非常重要的一个动作标签.
示例News.jsp
<jsp:useBean id="SessionCheckBean" scope="page" class="com.laoer.bbscs.user. SessionCheck" />
//检查用户是否登录
Sun公司的倡导是:用HTML完成JSP页面的静态部分,用javabeans完成动态部分,实现真正意义上的静态和动态分割。
<jsp:useBean id="BeanID" class="MyBean" scope="session"/>
<jsp:setProperty name=“BeanID” property=“name” value=“示例"/>
name 属性指定对 JavaBean 类的引用
设置 JavaBean 在 JSP 页面中的属性
指定 JavaBean 的属性名称
希望能对你起到一定的帮助
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-23
<%@include file="文件的URL" %>这是include指令标记,静态的插入一个文件,是在编译阶段处理所需要的文件,被处理的文件在逻辑和语法上依赖于当前的JSP页面
<jsp:include>是动态指令标记
<jsp:include page="文件的URL" %>是在JSP页面运行时才处理文件,被处理的文件在逻辑和语法上独立于JSP页面
<jsp:useBean>用来加载使用的bean根据ID找到字节码文件