java面试题39 给定includel.isp文件代码片段,如下:
<% pageContext.setAttribute(“User”,”HAHA”);%>
______ // 此处填写代码
给定include2.jsp文件代码片段如下:
<%=pageContext.getAttribute(“User”)%>
要求运行include1.jsp时,浏览器上输出:HAHA
A <jsp:include page=”include2.jsp” flash=”true”>
B <%@include file=”include2.jsp”%>
C <jsp:forward page=”include2.jsp”>
D <% response.sendRedirect(“include2.jsp”); %>
七大动作
include 动态包含(分别编译):
用jsp:include动作实现<jsp: include page=“included.jsp” flush=“true” />
它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。flush属性: 用true ,表示页面可刷新。默认为false;
useBean动作(jsp页面使用javaBean的第二种方式):
<jsp:useBean id=“对象名” class=“包名.类名” scope=“作用范围(request/page/application/session)”/>
作用域默认为page(本页面有效).
getProperty动作(name为useBean动作中的id).
从对象中取出属性值:<jsp:getProperty name=“javaBean对象” property=“javaBean对象属性名” />
setProperty动作(name为useBean动作中的id):
为对象设置属性值:
<jsp:setProperty name=“javaBean对象” property=“javaBean对象属性名” value=http://www.hake.cc/kf/201109/“值”/>
为对象设置属性值:
<jsp:setProperty property=“javaBean对象属性名” name=“javaBean对象” param=“username”/>(param=“username” 相当于 value= http://www.hake.cc/kf/201109 /<%=request.getParameter(“username”)%> )
param动作(传递参数)):
到达跳转页面可以通过 request.getParameter(“参数名”)方式取出参数值
<jsp:include page=“转向页面的url” ><jsp:param name=“参数名1” value=http://www.hake.cc/kf/201109/“参数值1”><jsp:param name=“参数名2” value=http://www.hake.cc/kf/201109/“参数值2”>…</jsp:include>
或:
<jsp:forward page="转向页面的url" ><jsp:param name="参数名1" value=http://www.hake.cc/kf/201109/"参数值1"><jsp:param name="参数名2" value=http://www.hake.cc/kf/201109/"参数值2">...........
</jsp:forward>
forward动作:
跳转页面:<jsp:forward page=“login.jsp” />
plugin动作:
< jsp:plugin >:用于指定在客户端运行的插件
JSP三大指令
page指令:
1.指定页面编码.例:
<%@ page language="java" contentType="text/html;charset=gbk" pageEncoding="gbk" %>
2.导入包,例:
<%@ page import="java.util.*,java.text.*" %>.
include 指令
静态包含:把其它资源包含到当前页面中。
<%@ include file="/include/header.jsp" %>
动态包含:
<jsp:include page="/include/header.jsp"></jsp:include>
两者的区别:翻译的时间段不同
前者:在翻译时就把两个文件合并
后者:不会合并文件,当代码执行到include时,才包含另一个文件的内容。
原则:能用静的就不用动的。
注意:
静态include的结果是把其他jsp引入当前jsp,两者合为一体,可以达到数据的共享即可以说是统一编译的,而
动态include的结构是两者独立的,直到输出时才合并即为分别编译的.
动态include的jsp文件独立性很强,是一个单独的jsp文件,需要使用的对象,页面设置,都由自己创建,而静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能 有变量同名的冲突.而页面设置也可以借用主文件的.
动态包含总是检查被包含页面的变化,静态包含不一定检查被包含页面的变化.
动态包含可带参数,静态包含不能带参数.如(<jsp: include page=“included.jsp”>放入参数</jsp:include>);
taglib 指令
在JSP页面中导入JSTL标签库。替换jsp中的java代码片段。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
答案为B
我是歌谣,有什么不合理之处欢迎之处。喜欢敲代码,没事刷刷题。
阅读目录(置顶)(长期更新计算机领域知识)
阅读目录(置顶)(长期更新计算机领域知识)
阅读目录(置顶)(长期科技领域知识)
歌谣带你看java面试题