⑴ 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
背景圖像將僅顯示一次。
一般都是水平重復或者垂直重復,因為要兼容不同的窗口大小。