javaWeb-08-jsp常用标签

来源:互联网 发布:星空软件哪个好 编辑:程序博客网 时间:2024/06/05 23:00
07-jsp九大隐式对象-pageContext对象
JSP标签也称之为Jsp Action(JSP动作)元素,它用于在JSP页面中提供业务逻辑功能。

<jsp:include>标签
用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入。
动态包含:<jsp:include page="/foot.jsp"/>动态包含:<%pageContext.include("/foot.jsp");%>静态包含:<%@include file="/public/head.jsp"%>【最好】
语法:<jsp:include page="relativeURL | <%=expression%>" flush="true|false" />

page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。
flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端。
<jsp:include>与include指令的比较
  1. <jsp:include>标签是动态引入,
    <jsp:include>标签涉及到的2个JSP页面会被翻译成2个
    servlet,这2个servlet的内容在执行时进行合并。
  2. 而include指令是静态引入,涉及到的2个JSP页面会被翻译成一个servlet,其内容是在源
    文件级别进行合并。
  3. 不管是<jsp:include>标签,还是include指令,它们都会把两个JSP页面内容合并输出,所以
    这两个页面不要出现重复的HTML全局架构标签,否则输出给客户端的内容将会是一个格式混乱
    的HTML文档。
  4. <jsp:include>标签:使用page属性指定被引入资源。
  5. include指令:使用file属性指定被引入资源。
  6. 假设myweb应用的根目录下有一个a.jsp文件 如果将a.jsp页面映射成了如下地址:
  7. 假设myweb应用的根目录下有一个a.jsp文件 如果将a.jsp页面映射成了如下地址:
    http://localhost:8080/myweb/dir1/a.html
    在a.jsp页面中使用了如下语句引入b.jsp文件:
    <jsp:include page="b.jsp" />
    请问:b.jsp要位于什么位置,上面的include才不会出错? 
    http://localhost:8080/myweb/b.jspf[错]
    http://localhost:8080/myweb/dir1/b.jspf【对】
  8. 假设myweb应用程序的根目录下有一个a.jsp文件,如果将a.jsp页面映射为如下地址:
    http://localhost:8080/myweb/dir1/a.html
    在a.jsp页面中使用了如下语句引入b.jspf文件:
    <%@ include file=“b.jspf”%>
    请问: b.jspf要位于什么位置,上面的include才不会出错? 
    http://localhost:8080/myweb/b.jspf
    http://localhost:8080/myweb/dir1/b.jspf
<jsp:forward>标签  <jsp:forward>标签用于把请求转发给另外一个资源。<jsp:forward page="relativeURL | <%=expression%>" /> 

page属性用于指定请求转发到的资源的相对路径,它也可以通过执行一个表达式来获得。
<jsp:forward page="/index.jsp"></jsp:forward>在哪里主要用到这种方式呢?答:情景,当首页是servlet时,是不能直接如下写的。<welcome-file-list><welcome-file>oneServlet</welcome-file></welcome-file-list>正确方法是:<welcome-file>一个有<jsp:forward>标签  的jsp</welcome-file>jsp页面:<jsp:forward page="/index.jsp"></jsp:forward> 正确方法是:<welcome-file>一个有<jsp:forward>标签的jsp页面: <jsp:forward page="/index.jsp"></jsp:forward> 

<jsp:param>标签
  1. 当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。
  2. 语法1:
    <jsp:include page="relativeURL | <%=expression%>"><jsp:param name="parameterName" value="parameterValue|<%= expression %>" /></jsp:include>
  3. 语法2:
    <jsp:forward page="relativeURL | <%=expression%>"><jsp:param name="parameterName" value="parameterValue|<%= expression %>" /></jsp:include>
  4. <jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。在<jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。