jsp中c标签的详细使用,jsp指令标签有哪些及作用

发布时间:2023-12-08

jsp中c标签的详细使用,jsp指令标签有哪些及作用

更新:<time datetime="2022-11-25 03:07">2022-11-25 03:07</time>

本文目录一览:

  1. C标签是什么,为什么要使用C标签,有哪些常见的指令
  2. jsp页面中c标签的问题
  3. 关于jsp的和的用法
  4. jsp如何用c标签实现分页
  5. jsp中c标签foreach的使用
  6. 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(pageIndexInt > 0 && pageIndexInt <= totalPage){
        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"] /
  1. 有体:
c:if test="testCondition" [var="varName"] [scope="page|request|session|application"]

Content

/c:if

test中执行判断,结果为true时执行Content中的内容,var保存test中的布尔值,scope设置属性范围