#jsphead.jsp内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">#index.jsp内容如下:
方式一:
<jsp:include page="jsphead.jsp"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>汉字</body>
</html>
方式二:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!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></title>
</head>
<body>汉字</body>
</html>方式一有乱码,方式二没有乱码现象,说明<jsp:include page="jsphead.jsp"/>不起作用,
有没有什么解决方法,通过类似引用一个公共页面的方式避免每个jsp页面重复的<%@ page...代码?

解决方案 »

  1.   

    用这个
    <%@ include file="jsphead.jsp"%>
      

  2.   

    正解。include指令(<%@ include file="jsphead.jsp"%>)又称静态包含,是在jsp转译成servlet时,把jsphead.jsp中的全部内容原样复制过来,如此可以当然可以重用jsphead.jsp中的内容(尽管只有两句代码)。不管有无必要,这种方式是正确的,呵呵。
      

  3.   

    <jsp:include page="jsphead.jsp"/> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title> </title> 
    </head> 
    <body>汉字 </body> 
    </html
    你引入的那个页面是一个完整的页面吗?就是里面有没有<html> 
    <head>这些标记,如果有的话那你就引入错了!因为引如后该页面中就有两组<html> 
    <head>标记!!