b.jsp页面用jsp:include  a.jsp,可是最终加载只能加载出来a页面,b页面内容显示不出来,为什么,求解

解决方案 »

  1.   

    检查下 a.jsp 是不是把out给close了?碰到问题最好能分段排查,比如先增加一个c.jsp,并且c.jsp里面只写一行静态文本,然后b.jsp里面改为include a.jsp。这样可以确定下问题出在哪一边。
      

  2.   

    没有close,还有就是重新写个静态页面c.jsp,用b.jsp include c.jsp,还是只能显示C
      

  3.   


    那感觉是你 b.jsp 页面有问题吧,你咋做的include? 前后一段的代码一起贴出来看看。
      

  4.   


    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@include file="/commons/taglibs.jsp"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <link rel="StyleSheet" href="${ctx }/css/dtree.css" type="text/css" />
    <script type="text/javascript" src="${ctx }/js/dtree.js"></script>
    </head>
    <body>
    <form action="" method="post" id="changeTestcase">
    <table>
    <tr>
    <td>测试计划:</td>
    <td><select name="planName" onchange="searchTestcaseByPlan();">
    <c:forEach items="${listPlan }" var="plan">
    <option value="${plan.name }" <c:if test="${plan.name==planName }">selected="selected"</c:if>>${plan.name}
    </option>
    </c:forEach>
    </select></td>
    </tr>
    </table>
    <div class="dtree"><script type="text/javascript">
    d = new dTree('d');
    d
    .add(
    0,
    -1,
    '${projectName} (<font color="green">${successCount}</font>,<font color="red">${failedCount}</font>,<font color="blue">${lockedCount}</font>/${testcaseCount})',
    '#');
    <c:forEach items="${listgroup}" var="group">
    d
    .add(
    '${group.id}',
    '${group.parent.id}',
    '${group.name}(<font color="green">${group.successCount}</font>,<font color="red">${group.failedCount}</font>,<font color="blue">${group.lockedCount}</font>/${group.count})',
    '#', '', '', '${ctx }/tree/img/folder.gif',
    '${ctx }/tree/img/folderopen.gif');
    </c:forEach> <c:forEach items="${listTptc}" var="testcases">
    d
    .add(
    't_${testcases.testcase.id}',
    '${testcases.testcase.testcaseGroup.id}',
    ' <font size="2" <c:if test="${testcases.result.status=='通过'}">color="green"</c:if> <c:if test="${testcases.result.status=='失败'}">color="red"</c:if> <c:if test="${testcases.result.status=='锁定'}">color="blue"</c:if>>${testcases.testcase.id}_${testcases.testcase.name}</font>',
    'testcase!listSingelTestcaseToExec.action?testplanTestcaseId=${testcases.id}');
    </c:forEach> d.icon.root = "${ctx }/tree/img/base.gif";
    d.icon.folder = "${ctx }/tree/img/folder.gif";
    d.icon.folderOpen = "${ctx }/tree/img/folderopen.gif";
    d.icon.node = "${ctx }/tree/img/page.gif";
    d.icon.empty = "${ctx }/tree/img/empty.gif";
    d.icon.line = "${ctx }/tree/img/line.gif";
    d.icon.join = "${ctx }/tree/img/join.gif";
    d.icon.joinBottom = "${ctx }/tree/img/joinbottom.gif";
    d.icon.plus = "${ctx }/tree/img/plus.gif";
    d.icon.plusBottom = "${ctx }/tree/img/plusbottom.gif";
    d.icon.minus = "${ctx }/tree/img/minus.gif";
    d.icon.minusBottom = "${ctx }/tree/img/minusbottom.gif";
    d.icon.nlPlus = "${ctx }/tree/img/nolines_plus.gif";
    d.icon.nlMinus = "${ctx }/tree/img/nolines_minus.gif"; document.write(d); function searchTestcaseByPlan() {
    var resultForm = document.getElementById("changeTestcase");
    resultForm.action = "testcase!changeExecTestcase.action";
    resultForm.submit();
    }
    </script></div>
    </form>
    </body>
    </html>
      

  5.   

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@include file="/commons/taglibs.jsp"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="${ctx }/js/jquery-1.4.4.js"></script>
    <script type="text/javascript" src="${ctx }/js/jquery.validate.js"></script>
    <link href="${ctx }/css/layout.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript">
    function execTestcase() {
    var radiobuttonLocked = document.getElementById("radiobuttonLocked");
    var radiobuttonFailed = document.getElementById("radiobuttonFailed");
    var radiobuttonSuccess = document.getElementById("radiobuttonSuccess");
    var re = document.getElementById("re");
    var execform = document.getElementById("execTestcaseForm");
    var summary = document.getElementById("summary");
    if (summary.value == "") {
    alert("请先选择用例");
    return false;
    } else if (radiobuttonLocked.checked == false
    && radiobuttonSuccess.checked == false
    && radiobuttonFailed.checked == false) {
    alert("请先选择执行结果");
    return false;
    } else {
    if (radiobuttonLocked.checked == true && re.value == "") {
    alert("请填写锁定原因");
    return false;
    } else {
    execform.action = "testcase!execTestcase.action";
    execform.submit();
    }
    }
    }
    </script>
    </head>
    <body>
    <div> 
       <jsp:include page="execTestcase.jsp"/></div>
    <form action="testcase!execTestcase.action" method="post"
    id="execTestcaseForm">
    <table align="center">
    <tr>
    <td>日期</td>
    <td>执行者</td>
    <td>状态</td>
    <td>缺陷关联</td>
    <td>测试级别</td>
    </tr>
    <tr>
    <td>${execTime }</td>
    <td>${listSingelTestcase.user.username}</td>
    <td>${result.status }</td>
    <td>${defectTestcaseTestplan.id }</td>
    <td>${listSingelTestcase.testcase.grade.name}</td>
    </tr>
    <tr>
    <td>摘要:</td>
    <td><input type="text"
    value="${listSingelTestcase.testcase.summary }" readonly="readonly"
    id="summary"></td>
    <td>期望结果:</td>
    <td><textarea readonly="readonly">${listSingelTestcase.testcase.expectedResult }</textarea></td>
    </tr>
    <tr>
    <td>步骤:</td>
    <td><textarea readonly="readonly">${listSingelTestcase.execStep }</textarea></td>
    </tr>
    <tr>
    <td>备注:</td>
    <td><textarea name="re" id="re">${result.re }</textarea></td>
    </tr>
    <tr>
    <td>执行结果:</td>
    <td><input type="radio" id="radiobuttonSuccess" name="status" value="通过"
    <c:if test="${result.status=='通过' }">checked="checked"</c:if>>
    通过</td>
    <td><input type="radio" id="radiobuttonFailed" name="status"
    <c:if test="${result.status=='失败' }">checked="checked"</c:if>
    value="失败"> 失败</td>
    <td><input type="radio" id="radiobuttonLocked" name="status"
    <c:if test="${result.status=='锁定' }">checked="checked"</c:if>
    value="锁定"> 锁定</td>
    <td><input type="button" value="保存结果" onclick="execTestcase();">
    </td>
    </table>
    </form>
    </body>
    </html>这个是B页面
      

  6.   

    你include的A页面,是个完整页面,也就是有完整的</HTML>结束标签的,这个不太对吧;浏览器看到</html>还以为整个页面都结束了呢。应该include的A页面是一个HTML片段,比如整个以<div>开始,以</div>结束。
    或者B页面里面用iframe去includeA。
      

  7.   

    如果不include  B页面能否正常显示? 若能则是 include 文件有问题; 被引用文件不能包含某些JSP代码(例如不能设置HTTP头)
    修改下文件再试试
    <jsp:include page="execTestcase.jsp" flush="true"/>
      

  8.   

    被引用文件不能包含某些JSP代码(例如不能设置HTTP头)
    8楼也说了  改改你的a.jsp
      

  9.   

    不行啊,不include能正常显示,include就不能了,代码在上面,帮看看啊
      

  10.   


    八楼说的你试过了么?如果 c.jsp 内容只有:<p>你好</p>b页面中 <jsp:include page="c.jsp" /> 仍然会啥都不显示?