社区
Web 开发
帖子详情
求助!高分相送~
saviourlee
2003-05-25 11:07:38
我在做一个考试系统。老师的要求是每个页面显示一道选择题。那20道题岂不要20个jsp页面? 有没有简单一点的办法?
btw: 老师还要求能回到原来的所选择的答案(cookie)
要是哪位大侠有参考代码就更佳!
我的email: saviour_2001@163.com
多谢!
望不吝赐教!
...全文
38
5
打赏
收藏
求助!高分相送~
我在做一个考试系统。老师的要求是每个页面显示一道选择题。那20道题岂不要20个jsp页面? 有没有简单一点的办法? btw: 老师还要求能回到原来的所选择的答案(cookie) 要是哪位大侠有参考代码就更佳! 我的email: saviour_2001@163.com 多谢! 望不吝赐教!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flystar326
2003-05-26
打赏
举报
回复
不需要20个页面了,我觉得可以参照分页的做法
leshui
2003-05-26
打赏
举报
回复
分页就可以了
只要是有规律的东西
都可以用循环来做
asdmonster
2003-05-26
打赏
举报
回复
怎么现在流行要代码?
satyrping
2003-05-26
打赏
举报
回复
看这个例子,肯定对你又帮助
productList.jsp :
<!-- JSP Directives -->
<%@ page errorPage="myError.jsp?from=productList.jsp"
%>
<html>
<head>
<title>Product List</title>
</head>
<body>
<basefont face="Arial">
<jsp:useBean id="pBean" scope="session" class="bean.ProductBean"/>
<!-- Build table of products -->
<table align="center" width="600">
<tr>
<td width="20%"><b>Product ID</b></td>
<td width="30%"><b>Description</b></td>
<td width="35%"><b>Manufacturer</b></td>
<td width="15%"><b>Price</b></td>
</tr>
<%
int rowCount = 0;
int startRow = 0;
if (pBean.populate()) {
String start = (String) request.getParameter("start");
if (start != null) {
startRow = new Integer(start).intValue();
pBean.setStartRow(startRow);
}
while (rowCount < 10 && pBean.nextRow() > 0) {
rowCount++;
%>
<tr>
<td width="20%"><jsp:getProperty name="pBean" property="prodID"/></td>
<td width="30%"><jsp:getProperty name="pBean" property="prodDesc"/></td>
<td width="35%"><jsp:getProperty name="pBean" property="prodManuf"/></td>
<td width="15%"><jsp:getProperty name="pBean" property="prodPrice"/></td>
</tr>
<%
}
}
%>
<!-- Display the back and next links -->
<tr>
<td colspan="2" align="center">
<br><a href="?start=<%= (startRow > 9) ? startRow - 10 : 0%>">Back</a>
</td>
<td colspan="2" align="center">
<br><a href="?start=<%= pBean.getCurrentRow() %>">Next</a>
</td>
</tr>
</table>
</body>
</html>
ProductBean.java :
package bean;
import java.util.*;
import java.sql.*;
public class ProductBean implements java.io.Serializable {
/* Member Variables */
private String prodID;
private String prodDesc;
private String prodManuf;
private float prodPrice;
/* ArrayLists to hold recordsets */
private List prodIDList, prodDescList, prodManufList, prodPriceList;
/* Helper Variables */
private int currentRow;
private int rowCount;
private Connection db = null;
/* Constructor */
public ProductBean() {
/* Initialize bean properties */
setProdID("");
setProdDesc("");
setProdManuf("");
setProdPrice(0.00f);
/* Initialize arrayLists to hold recordsets */
prodIDList = new ArrayList();
prodDescList = new ArrayList();
prodManufList = new ArrayList();
prodPriceList = new ArrayList();
/* Initialize helper variables */
currentRow = 0;
rowCount = 0;
/* Get database connection */
dbConnect();
}
/* Get Database Connection */
private void dbConnect() {
if (db == null) {
try {
Class.forName("org.gjt.mm.mysql.Driver");
db = DriverManager.getConnection("jdbc:mysql://localhost:3306/catalog","root","appleping");
}
catch (Exception e) {
System.out.println("Error Connecting to catalog DB: "+ e.toString());
}
}
}
/* Accessor Methods */
public String getProdID() {
return prodID;
}
public void setProdID(String _prodID) {
prodID = _prodID;
}
public String getProdDesc() {
return prodDesc;
}
public void setProdDesc(String _prodDesc) {
prodDesc = _prodDesc;
}
public String getProdManuf() {
return prodManuf;
}
public void setProdManuf(String _prodManuf) {
prodManuf = _prodManuf;
}
public float getProdPrice() {
return prodPrice;
}
public void setProdPrice(float _prodPrice) {
prodPrice = _prodPrice;
}
/* Read-only attribute */
public int getCurrentRow() {
return currentRow;
}
/* Populate Record List */
public boolean populate() {
/* If prodIDList is empty, then execute the query to populate it */
if (prodIDList.isEmpty()) {
try {
/* Execute Query */
Statement s = db.createStatement();
ResultSet rs = s.executeQuery("select * from product");
prodIDList.clear();
prodDescList.clear();
prodManufList.clear();
prodPriceList.clear();
rowCount = 0;
while (rs.next()) {
prodIDList.add(rs.getString("id"));
prodDescList.add(rs.getString("description"));
prodManufList.add(rs.getString("manuf"));
prodPriceList.add((new Float(rs.getFloat("price"))));
rowCount++;
}
}
catch (Exception e) {
System.out.println("Error populating productBean: "+ e.toString());
return false;
}
}
/* Return status of operation (assume success if it made it this far) */
return true;
}
/* Reset current row */
public void setStartRow(int _start) {
if (_start < rowCount) {
currentRow = _start;
}
}
/* Move to next row */
public int nextRow() {
if (currentRow == rowCount) {
currentRow = 0; // Reset for next page request
return 0; // return 0 to indicate end of recordset
}
/* Populate bean properties with current row */
setProdID((String)prodIDList.get(currentRow));
setProdDesc((String)prodDescList.get(currentRow));
setProdManuf((String)prodManufList.get(currentRow));
Float price = (Float)prodPriceList.get(currentRow);
setProdPrice(price.floatValue());
currentRow++;
/* return currentRow*/
return currentRow;
}
}
vidaboy
2003-05-26
打赏
举报
回复
不需要
只需要当点击下一页时,调出下一道题的文本即可以了。
代码暂时没有
单选题 计算机软件一般包括,
求助
,50道计算机试题~求答案
单选题: 内部存储器的机器指令,一般先读取数据到缓冲寄存器,然后再送到( )。 A. 地址寄存器 B. 程序记数器 C. 标志寄存器 D. 指令寄存器 43.单选题: CPU性能的高低,往往决定了一台计算机( )的高低。 A. ...
单选题7.微型计算机接口位于,
求助
,50道计算机试题~求答案
单选题: 内部存储器的机器指令,一般先读取数据到缓冲寄存器,然后再送到( )。 A. 地址寄存器 B. 程序记数器 C. 标志寄存器 D. 指令寄存器 43.单选题: CPU性能的高低,往往决定了一台计算机( )的高低。 A. ...
基础
各位兄弟,在SDK编程中如果实现...
求助
:通过编程DirectX抓屏------>masterz:再麻烦你一下,谢谢熟悉RichEdit的朋友过来看一下,RichEdit的几个问题.如何对 I/O 端口进行操作?有了该问题就有了思考(100分 献礼!)如何
送你一个目录,一站式学习生信!众多干货,有趣有料!
RNA-seq最强综述名词解释&思维导图|关于RNA-seq,你想知道的都在这(续) 有了这些,文件批量重命名还需要
求助
其它工具吗? 只需一行代码,完美呈现Markdown格式,写作展示两不误 聊个天就把生信分析做了?你的未来...
数据库帖子收集
帮我写一下,必
高分
相送
!!! 请教:连不到数据库 一个分组查询的问题! 如何才能将SQL7.0的数据库整体升迁到SQL2000中? 高手请教 这样的SQL语句怎么写?? 誰可以具體講一下set nocount on/off...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章