⑴ jsp页面怎么判断foreach循环了几次,或者说怎么判断list循环到下标几
代码:<c:forEach items="listTest" var="test" varStatus="index"></c:forEach>
在页面上输出的值,最后一个就是循环的次数了。
如果要知道当前的值是第几次循环的结果,那么可以在页面上加一列序号,把index显示出来。
⑵ 一个jsp里面,怎么实现另外两个jsp页面同时显示
1、首先新建两个JSP页面,如下图所示。
⑶ jsp+servlet分页,点下一页,下一页的内容接上一页的内容显示,怎么办
jsp+servlet分页内容是根据分页查询的sql决定每一页显示的内容的。
package org.jsoft.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jsoft.topic.Topic;
import org.jsoft.topic.TopicOP;
public class Main extends HttpServlet {
int pageSize = 24;//每页显示记录数
int startRow = 0; //开始显示记录的编号
int pageNo=0;//需要显示的页数
int counterStart=0;//每页页码的初始值 //每页页码记录的初始值
int counterEnd=0;//显示页码的最大值 //每页页面记录的最大值
int recordCount=0;//总记录数;
int maxPage=0;//总页数
int prevStart=0;//前一页
int nextPage=0;//下一页
int lastRec=0; //最后一页记录的标记
int lastStartRecord=0;//最后一页开始显示记录的编号
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取需要显示的页数,由用户提交
if(request.getParameter("pageNo")==null){ //如果为空,则表示第1页
if(startRow == 0){
pageNo = startRow + 1; //设定为1
}
}else{
pageNo = Integer.parseInt(request.getParameter("pageNo")); //获得用户提交的页数
startRow = (pageNo - 1) * pageSize; //获得开始显示的记录编号
}
//因为显示页码的数量是动态变化的,假如总共有一百页,则不可能同时显示100个链接。而是根据当前的页数显示
//一定数量的页面链接
//设置显示页码的初始值!!
if(pageNo % pageSize == 0){
counterStart = pageNo - (pageSize - 1);
}else{
counterStart = pageNo - (pageNo % pageSize) + 1;
}
counterEnd = counterStart + (pageSize - 1);
TopicOP topicOP=new TopicOP();
//获取总记录数
recordCount=topicOP.queryCountRecord();
List<Topic> list=topicOP.queryPageAll(startRow, pageSize);
request.getSession().setAttribute("list",list);
//获取总页数
if(recordCount % pageSize == 0){
maxPage = recordCount / pageSize;
}else{
maxPage = recordCount/pageSize+1;
}
request.setAttribute("pageNo",pageNo);
request.setAttribute("startRow",startRow);
request.setAttribute("pageSize",pageSize);
request.setAttribute("counterStart",counterStart);
request.setAttribute("counterEnd",counterEnd);
request.setAttribute("recordCount",recordCount);
request.setAttribute("maxPage",maxPage);
String loginusername=(String)request.getSession().getAttribute("username");
request.getSession().setAttribute("loginusername", loginusername);
String[] userInformation=topicOP.queryUserInformation(loginusername);
request.setAttribute("userInformation", userInformation);
request.getRequestDispatcher("main.jsp").forward(request,response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
}
⑷ jsp怎么合并相同时间,让内容显示到后面
两个方法:抄
方法一:在后台封装时,就把日期相同的数据,放在map中,分别保存上午、下午的数据,页面中这样使用:
<c:forEachvar="l"items="${list}">
<tr>
<!--此时,每个数据是一个map-->
<c:forEachvar="map"items="${l}">
<td>${map['上午对应的key值']}</td>
</c:forEach>
</tr>
</c:forEach>
方法二:加一个对<td>的循环,比如:
<!--外层循环,对<tr>的循环-->
<c:forEachvar="l1"items="${list}">
<tr>
<c:forEachvar="l2"items="${list}">
//这里判断,如果日期相同,则新建<td>"要展示的内容"</td>,
//否则建一个空<td></td>
</c:forEach>
</tr>
</c:forEach>
推荐使用方法一
⑸ JSP 如何合并table中一列中内容相同的行
我觉得只能等页面加载完了,用for循环遍历了,找到一样的就在上面的td里面加colspan属性了,再把下面的隐藏掉,不过这方法非常的不智能。。。
智能的我就不知道了
⑹ jsp页面怎样不平铺,就是拉伸一下,一张图片显示在整个页面上 不重复出现
这个只和背景图片的css设置有关。background-repeat:
repeat
默认。背景图像将在垂直方向和水平方向重复。
repeat-x
背景图像将在水平方向重复。
repeat-y
背景图像将在垂直方向重复。
no-repeat
背景图像将仅显示一次。
一般都是水平重复或者垂直重复,因为要兼容不同的窗口大小。