日期:2014-05-18  浏览次数:20617 次

jsp:include的参数传递问题
//测试页面   demo.jsp
<%@   page   contentType= "text/html;charset=gb2312 "%>       -----page1
<html>
<head>
<title> include   demo </title>
</head>
<body>
<jsp:include   page= "incl03.jsp ">
    <jsp:param   name= "ref1 "   value= "张三 "/>
    <jsp:param   name= "ref2 "   value= "学生 "/>
</jsp:include>
</body>
</html>

//包含页面incl03.jsp
<%@   page   contentType= "text/html;charset=gb2312 "%>         -----page2
<h1>
ref1= <%=request.getParameter( "ref1 ")%> <br>
ref2= <%=request.getParameter( "ref2 ")%> <br>
</h1>

当测试页中没有page1行,包含页中有page2行时,运行结果是:
ref1=张三
ref2=学生

当测试页中有page1行,包含页中没有page2行时,运行结果是:
ref1=??
ref2=??
这是怎么回事??



------解决方案--------------------
中文问题啊
------解决方案--------------------
把PAGE1和PAGE2行都保留,网页默认编码不是GBK2312,编码不统一当然是乱码
------解决方案--------------------
编码问题。 <jsp:include page= "incl03.jsp "> 指令是将页面的执行结果包括进来,而被包含的页面是当作一个单独的页面进行处理的。没有加page2那一句,就等于没有指定编码,所以中文就乱码了嘛。个人意见!
------解决方案--------------------
?? 不是没有收到值,而是收到值在编码转换的时候出现了问题,输出是“??”
统一中文编码就行了
------解决方案--------------------
楼上说的没错,楼主你实际上收到值了,我想应该是字符编码的问题。