我遇到的问题是这样的。有2个页面 a.jsp和b.jsp,在a.jsp中include b.jsp,然后发现a.jsp中的样式发生了改变,有些特效竟然无效了。b.jsp中的代码
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<link rel="stylesheet" type="text/css" href="<%=basePath%>/ext3/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="<%=basePath%>/ext3/ux/css/DateTimePicker.css" />
<script type="text/javascript" src="<%=basePath%>/ext3/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="<%=basePath %>/ext3/ext-all-debug.js"></script>
<script type="text/javascript" src="<%=basePath %>/ext3/ux/DateTimeField.js"></script>
<input type="hidden" name="name" id="name" value="${name}">
然后我做了一下测试
1.把CSS删掉,发现a.jsp中样式还是有问题,特效也无效。
2.把js删掉,结果同上。
3.把input文本框删掉,结果同上。
4.把css、js、input都删掉,发现a.jsp中的样式回复正常,特效也能正常了。
请问这是为什么?b.jsp中我必须要加入这些东西,那该怎么办

解决方案 »

  1.   

    没详细看楼主的代码是怎样处理的,不过:
    楼主貌似不是很了解include指令和include动作区别啊!
    <%@ include file=” ”%>
    <jsp:include page=” ” flush=”true”/>
    两种include,,楼主是不是用错加载方式了???
      

  2.   

    谢谢,各位的帮助,不过我已经解决了。我用的是<%@ include file=” ”%>,a.jsp和b.jsp只是一个例子而已,其实是有很多个页面需要include b.jsp而不仅仅是a.jsp>。至于解决办法我可以告诉大家,就是本来<%@ include file=” ”%>这个标签是a.jsp页头的,但是把它放到a.jsp的页面末尾就可以解决了,各位可以做个demo测试下。还是要谢谢各位好心人的帮助
      

  3.   

    这个问题明显是css冲突的问题,检查你b.jsp中的css,是否有类似body{},tr{},td{}这样的全局定义。在b.jsp的css中,最好使用id或class选择器来定义。