jsp中c標籤的詳細使用,jsp指令標籤有哪些及作用

本文目錄一覽:

C標籤是什麼,為什麼要使用C標籤,有哪些常見的指令

C標籤是:核心標籤,最常用的JSTL標籤。

引用核心標籤庫的語法如下:

%@ taglib prefix=”c” 

           uri=”” %

常見的指令:

jsp頁面中c標籤的問題

按你的頁面編寫邏輯,是不是應該這樣

input type=”text” name=”num” value=”${coupon.num}”

c:if test=”${coupon.state !=0}” style=”display:none;”/c:if

/

關於jsp的和的用法

c:forEach items=”${userVOs}” var=”userVO” varStatus=”status”

c:if test=”${status.index%2 == 0}”

tr

td${status.index }/td

td${userVO.name }/td

td${userVO.password }/td

/tr

/c:if

/c:forEach

jsp如何用c標籤實現分頁

jsp用c標籤實現分頁的方式如下:

%@ tag language=”java” pageEncoding=”UTF-8″%

%@ taglib uri=”/WEB-INF/tld/c.tld” prefix=”c”%

%@ attribute name=”curIndex” type=”java.lang.Long” required=”true”%

%@ attribute name=”pageSize” type=”java.lang.Long” required=”true”%

%@ attribute name=”pagerRange” type=”java.lang.Long” required=”true”%

%@ attribute name=”totalPage” type=”java.lang.Long” required=”true”%

%@ attribute name=”formId” type=”java.lang.String” required=”true”%

%

long begin = Math.max(1, curIndex – pagerRange/2);

long end = Math.min(begin + (pagerRange-1),totalPage);

request.setAttribute(“p_begin”, begin);

request.setAttribute(“p_end”, end);

%

table class=”pager”

tr

 % if (curIndex!=1){%

                tda href=”javascript:gotoPage(1)”首頁/a/td

                tda href=”javascript:gotoPage(%=curIndex-1%)”上一頁/a/td

         %}else{%

                td class=”disabled”a href=”#”首頁/a/td

                td class=”disabled”a href=”#”上一頁/a/td

         %}%

 

c:forEach var=”i” begin=”${p_begin}” end=”${p_end}”

            c:choose

                c:when test=”${i == curIndex}”

                    td class=”active”a href=”#”${i}/a/td

                /c:when

                c:otherwise

                    tda href=”javascript:gotoPage(${i})”${i}/a/td

                /c:otherwise

            /c:choose

        /c:forEach

    % if (curIndex!=totalPage){%

                tda href=”#”下一頁/a/td

                tda href=”#”末頁/a/td

         %}else{%

                td class=”disabled”a href=”javascript:gotoPage(%=curIndex+1%)”下一頁/a/td

                td class=”disabled”a href=”javascript:gotoPage(%=totalPage%)”末頁/a/td

         %}%

         tda共${totalPage}頁/a/td

         td class=”input_li”跳轉到:input type=”text” id=”p_pageIndex” size=”2″ value=”c:out value=”${pageIndex}”/”/頁 input type=”button” id=”gotoBtn” onclick=”gotoPageByBtn()” value=”GO”//td

 td class=”input_li”nbsp;每頁:

 select id=”p_pageSizeSelect” onchange=”gotoPage(%=curIndex%)”

  option value=”10″ c:if test=”${pageSize==10}”selected/c:if10條/option

  option value=”20″ c:if test=”${pageSize==20}”selected/c:if20條/option

  option value=”50″ c:if test=”${pageSize==50}”selected/c:if50條/option

 /select

 /td

/tr

/table

控制分頁的代碼如下

%@ taglib uri=”/WEB-INF/tld/c.tld” prefix=”c”%

%@ taglib uri=”/WEB-INF/tld/fmt.tld” prefix=”fmt”%

%@ taglib tagdir=”/WEB-INF/tags” prefix=”tags”%

head

style!–分頁樣式–

.pager { font: 12px Arial, Helvetica, sans-serif;}

.pager a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px;line-height:30px;vertical-align:middle;}

.pager .active a{color:red;border:none;}

.pager a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}

.pager a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}

.pager .input_li{padding: 1px 6px;}

/style

script!–分頁跳轉腳本–

function gotoPage(pageIndex){

var queryForm = document.getElementById(“queryForm”);

var action = queryForm.action;

var pageSize = document.getElementById(“p_pageSizeSelect”).value;

action += “?pageIndex=” + pageIndex + “pageSize=” + pageSize;

//alert(action);

queryForm.action = action;

queryForm.submit();

}

function gotoPageByBtn(){

var pageIndex = document.getElementById(“p_pageIndex”).value;

var pageIndexInt = parseInt(pageIndex);

var totalPage = ${totalPage};

if(pageIndexInt0  pageIndexInttotalPage){

gotoPage(pageIndex);

}

else{

alert(“輸入頁數超出範圍!”);

}

}

/script

/head

body

form id=”queryForm” action=”${basePath}/log/list” method=”post”

table

tr

td用戶名:/td

tdinput type=”text” name=”userName” value=”c:out value=”${userName}”/”/nbsp;/td

tdinput type=”submit” text=”查詢”//td

/tr

/table

/form

tags:pager pagerRange=”10″ pageSize=”${pageSize}” totalPage=”${totalPage}” curIndex=”${pageIndex}” formId=”queryForm”/tags:pager

table class=”border”

thead

tr

th width=”100″用戶名稱/th

th width=”500″操作內容/th

th width=”200″操作時間/th

/tr

/thead

tbody

c:forEach items=”${logList}” var=”log”

tr

td${log.userName}/td

td${log.result}/td

td

fmt:formatDate value=”${log.createTime}” pattern=”yyyy-MM-dd HH:mm:ss”/

/td

/tr

/c:forEach

/tbody

/table

tags:pager pagerRange=”10″ pageSize=”${pageSize}” totalPage=”${totalPage}” curIndex=”${pageIndex}” formId=”queryForm”/tags:pager

/body

jsp中c標籤foreach的使用

FOREACH標籤部分.

首先確認MAP中有沒有取得數據.

c:forEach [var=”varName”] items=”” [varStatus=”varStatusName”]

FOREACH標籤含義: items存放被迭代的集合對象, var用來存放現在指到的成員。

3. var元素輸出的參數需要與MAP中存放的參數對應,(通常用一個JAVABEAN對像封裝放在LIST等集合對像中).案例中的,NAME等值是否在JAVABEAN中存在.如果存在,EL表達式寫法為: ${entry.name}即可直接輸入,其他值也是一樣.

IF標籤部分.

EL表達式有自己的判斷方式,無法直接用==,!=,=,=直接判斷.

如果要判斷封裝對像是否為空.請用empty關鍵字….

以下是IF標籤與FOREACH綜合用法的示例:

!– 如果集合中不為空,輸出數據! –c:if test=”${!empty adminlist}” c:forEach items=”${adminlist}” var=”list” tr td${list.id}/td td${list.name}/td td${list.pwd}/td /tr /c:forEach /c:if!– 如果集合中為空,直接在HTML中輸出提示! — c:if test=”${empty adminlist}” 未能找到數據! /c:if

為了能更好的顯示出FOREACH的效果.通常先用choose標籤進行判斷,以下是JSP頁面中的完整標籤片段示例:(IF標籤不再舉例.)

table cellpadding=”5″ cellspacing=”1″ border=”0″ width=”100%” align=”center” tr align=”center” tdID/td td用戶帳號/td td用戶密碼/td td colspan=”2″管理/td /tr c:choose c:when test=”${!empty userlist}” c:forEach items=”${userlist}” var=”list” tr td${list.id}/td td${list.name}/td td${list.pwd}/td td a href=”UserEdit.jspx?action=updateid=${list.id}”編緝/a /td td div onClick=”return del();” a href=”UserEdit.jspx?action=deleteid=${list.id}”刪除/a /div /td /tr /c:forEach /c:when c:otherwise tr td colspan=”5″未能找到符合條件的數據!/td /tr /c:otherwise /c:choose/table

jsp標籤是怎以用的?

c:if標籤的兩種形式如下:

1.無體:

c:if test=”testCondition” [var=”varName”] [scope=”page|request|session|application”] /

2.有體:

c:if test=”testCondition” [var=”varName”] [scope=”page|request|session|application”] /

Content

/c:if

test中執行判斷,結果為true時執行Content中的內容,var保存test中的布爾值,scope設置屬性範圍

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247332.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:20
下一篇 2024-12-12 13:20

相關推薦

  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python通配符有哪些

    Python通配符是一種表示字元串中模糊匹配的有效工具,用於匹配與具有特定模式匹配的字元串。Python中主要的通配符有:*,?,[]和{}。 一、星號通配符 * 在Python中…

    編程 2025-04-29
  • 註冊表取證工具有哪些

    註冊表取證是數字取證的重要分支,主要是獲取計算機系統中的註冊表信息,進而分析痕迹,獲取重要證據。本文將以註冊表取證工具為中心,從多個方面進行詳細闡述。 一、註冊表取證工具概述 註冊…

    編程 2025-04-29
  • Python函數類型有哪些

    本文將從以下幾個方面詳細闡述Python函數類型。 一、內置函數 Python的內置函數是指在Python編程語言中提供的可以直接使用的函數,不需要通過導入模塊等方式引入。 部分常…

    編程 2025-04-29
  • Python程序變數名有哪些

    Python是一種高級、面向對象、解釋型編程語言,它因為其簡潔明了的語法和廣泛的應用領域而被廣泛使用。在Python中,變數名是關鍵的標識符,它們用於訪問存儲在內存中的值。本文將介…

    編程 2025-04-28
  • Python條形圖添加數據標籤

    Python是一種多用途、高級、解釋型編程語言。它是一種動態類型語言,具有高級內置數據結構,支持面向對象編程、結構化編程和函數式編程方式。Python語言旨在簡化代碼的閱讀、編寫和…

    編程 2025-04-28
  • @scope("prototype")的作用及應用

    本文將從以下幾個方面進行詳細闡述@scope(“prototype”)在編程開發中的作用和應用。 一、代碼復用 在開發中,往往會有很多地方需要復用同一個類的…

    編程 2025-04-28
  • Python中import sys的作用

    Python是一種非常強大的編程語言,它的標準庫提供了許多有用的模塊和函數。sys模塊是Python標準庫中的一個重要模塊,用於與Python解釋器和操作系統進行交互。它允許開發者…

    編程 2025-04-28

發表回復

登錄後才能評論