当前位置:编程学习 > JSP >>

JSP传递值问题,比如下面这段代码

<%@ page contentType="text/html;charset=gb2312" %> <% //变量声明 java.sql.Connection sqlCon; java.sql.Statement sqlStmt; java.sql.ResultSet sqlRst; java.lang.String strCon; java.lang.String strSQL; int intPageSize; int intRowCount; int intPageCount; int intPage; java.lang.String strPage; int i; intPageSize = 10; //取得待显示页码 strPage = request.getParameter("page"); if(strPage==null){ intPage = 1; } else{//将字符串转换成整型 intPage = java.lang.Integer.parseInt(strPage); if(intPage<1) intPage = 1; } //装载JDBC驱动程序 java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //设置数据库连接字符串 strCon = "jdbc:oracle:thin:@localhost:1521:ORCL"; //连接数据库 sqlCon = java.sql.DriverManager.getConnection(strCon,"SRMUser","SRMUser"); //创建一个可以滚动的只读的SQL语句对象 sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); strSQL = "select * from NewsTable"; sqlRst = sqlStmt.executeQuery(strSQL); //获取记录总数 sqlRst.last(); intRowCount = sqlRst.getRow(); //记算总页数 intPageCount = (intRowCount+intPageSize-1) / intPageSize; //调整待显示的页码 if(intPage>intPageCount) intPage = intPageCount; %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>网络安全科新闻列表</title> <style type="text/css"> <!-- .style1 { font-size: x-large; font-weight: bold; } --> </style> </head> <body> <table border="1" align="center" cellpadding="0" cellspacing="0"> <tr> <th width="279"><span class="style1">标题</span></th> <th width="178" class="style1">时间</th> <th width="231" class="style1">作者</th> </tr> <% if(intPageCount>0){ //将记录指针定位到待显示页的第一条记录上 sqlRst.absolute((intPage-1) * intPageSize + 1); //显示数据 i = 0; while(i<intPageSize && !sqlRst.isAfterLast()){ %> <tr> <td height="27"> <a href="test.jsp?types="<%=sqlRst.getString(4)%>" target="_selt"><%=sqlRst.getString(2)%></a> </td> <td ><%=sqlRst.getString(5)%></td> <td><%=sqlRst.getString(3)%></td> </tr> <% sqlRst.next(); i++; } } %> </table> <div align="center" class="style1">第<%=intPage%>页 共<%=intPageCount%>页 <%if(intPage<intPageCount){%> <a href="newslist.jsp?page=<%=intPage+1%>">下一页</a> <%}%> <%if(intPage>1){%> <a href="newslist.jsp?page=<%=intPage-1%>">上一页</a> <%}%> </div> </body> </html> <% //关闭结果集 sqlRst.close(); //关闭SQL语句对象 sqlStmt.close(); //关闭数据库 sqlCon.close(); %> 是达到分页展示数据库的数据的,怎么才可以使 <a href="test.jsp?types="<%=sqlRst.getString(4)%>" target="_selt">的值传递到另一JSP中,效果就是点一下标题就能到另一页面看到正文。
追问:
        	
				
您好,根据您的答案貌似值可以传输了,可惜是乱码,如果您不吝赐教,请告诉我如何正确转换,我传输的值是字符串,如若成功,追加20分
第一种解决方法:URLEncoder.encode()方法,然后另一个页面URLEncoder.decode();这样有点麻烦
第二种解决方法:不要传递带有中文的字符串,传递整型或者long类型的编号,这种做法较常见。
答案:<a href="test.jsp?types=<%=sqlRst.getString(4)%>"  target="_selt">
其他:问题很简单啊,这不明摆是参数传输出现乱吗,你把请求的参数和相应的参数设置为统一的编码不就可以啦! 不懂继续追问 给我分吧 嘿嘿
<a href="test.jsp?types=<%=java.net.URLEncoder.encode(sqlRst.getString(4),"UTF-8")%>"  target="_selt"> 

上一个:求一款开源的jsp动态表格代码,能在页面上实现表格项的增删改,不需要涉及后台数据库的操作。
下一个:请问如何用JSP代码创建如下界面

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,