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代码创建如下界面