jsp两种不同的include

来源:互联网 发布:国家行政学院博士 知乎 编辑:程序博客网 时间:2024/06/07 00:32

最近做项目中jsp界面需要多判断来写入数据刚开始我是直接把所有的判断都写在了一个页面,自己也感觉页面真的好多代码好乱 ,所以想解决下便使用  include引入

例如:比如当request域中的name等于zhangyu的时候把第二个界面引入进来并且第二个页面也输出name  

  页面一

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'zx_ajxx.jsp' starting page</title>

 </head>

<body>

 

<c:choose>

<c:choose>
<c:when test="${
name=='zhangyu'}">
 <%@include file="
zhangyu.jsp"%>
</c:when>
      

   </c:choose>

</body>

</html>

页面二

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

${name}

我第一次使用的不是<%@ include file=  而是 <jsp:include page='zhangyu.jsp></jsp:include> 所以造成页面没有输出

我又尝试用<%@ include  页面有输出值   为啥是这样呢 

我看了看文档 其中 <%@ 这种叫做指令 <jsp: 叫做元素  两种区别就在于 指令是先把界面拼接到一块在进行转换成servlet  而  元素是分别转换后再进行拼接的






原创粉丝点击