jsp增加c标签,jsp引入c标签

发布时间:2023-12-08

jsp增加c标签,jsp引入c标签

更新:<time datetime="2022-11-18 19:56">2022-11-18 19:56</time>

本文目录一览:

  1. jsp中c标签foreach的使用
  2. jsp中“
  3. jsp页面怎么让一个标签到达条件时,此元素不被显示
  4. [写了个jsp页面,引入c标签库后,一写就报错,错误是isValid() == false,在线等!](#写了个jsp页面,引入c标签库后,一写就报错,错误是isValid() == false,在线等!)
  5. jsp如何用c标签实现分页

<span id="jsp中c标签foreach的使用">jsp中c标签foreach的使用</span>

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">
        <td>ID</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>

<span id="jsp中“">jsp中“</span>

不是,是JSTL标签库中的标签,在JSP页面中导入后就可以使用,代码如下: <%@ taglib uri="" prefix="c" %>,比如<c:if></c:if>,和普通的if判断语句是一样的功能功能, <c:if test="判断">判断为真,执行的操作</c:if>

<span id="jsp页面怎么让一个标签到达条件时,此元素不被显示">jsp页面怎么让一个标签到达条件时,此元素不被显示</span>

  1. 先在JSP页面加入JSTL标签库,俗称c标签。
  2. 用JSTL的数组里的元素
  3. LZ要熟悉EL表达式的话,这个过程应该简单很多。
    下面是个小例子: ${tmpS } 这样就可以在JSP页面输出了

<span id="写了个jsp页面,引入c标签库后,一写就报错,错误是isValid() == false,在线等!">写了个jsp页面,引入c标签库后,一写就报错,错误是isValid() == false,在线等!</span>

c:forEach中属性没有加引号,例如c:forEach var="" items=""这样就不会报错了。

<span id="jsp如何用c标签实现分页">jsp如何用c标签实现分页</span>

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){ %>
            <td><a href="javascript:gotoPage(1)">首页</a></td>
            <td><a 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>
                    <td><a href="javascript:gotoPage(${i})">${i}</a></td>
                </c:otherwise>
            </c:choose>
        </c:forEach>
        <% if (curIndex != totalPage){ %>
            <td><a href="#">下一页</a></td>
            <td><a 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>
        <% } %>
        <td><a>共${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;每页:</td>
        <td>
            <select id="p_pageSizeSelect" onchange="gotoPage(<%=curIndex%>)">
                <option value="10" <c:if test="${pageSize==10}">selected</c:if>>10条</option>
                <option value="20" <c:if test="${pageSize==20}">selected</c:if>>20条</option>
                <option value="50" <c:if test="${pageSize==50}">selected</c:if>>50条</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;
            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>
                <td><input type="text" name="userName" value="<c:out value="${userName}"/>"/>&nbsp;</td>
                <td><input type="submit" text="查询"/></td>
            </tr>
        </table>
    </form>
    <tags:pager pagerRange="10" pageSize="${pageSize}" totalPage="${totalPage}" curIndex="${pageIndex}" formId="queryForm"/>
    <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"/>
</body>