A. 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"> <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=update&id=${list.id}">编缉</a> </td> <td> <div onClick="return del();"> <a href="UserEdit.jspx?action=delete&id=${list.id}">删除</a> </div> </td> </tr> </c:forEach> </c:when> <c:otherwise> <tr> <td colspan="5">未能找到符合条件的数据!</td> </tr> </c:otherwise> </c:choose></table>
B. 如何使用c标签将数据库数据用forEach依次展现出来
页面引入jstl标签,然后这样
<c:foreach items="${list}" var="li">
${li}
</c:foreach>
解释:list为action传到页面的数据集合
C标签是:核心标签,最常用的JSTL标签。
引用核心标签库的语法如下:
<%@taglibprefix="c"
uri="http://java.sun.com/jsp/jstl/core"%>
常见的指令:
D. 关于java中c标签foreach的用法
<c:foreach>用法
<c:foreach>类似于for和foreach循环
以下是目前见过的用法:
1、循环遍历,输出所有的元素。
<c:foreach items="${list}"
var="li">
${li}
</c:foreach>
注意:items 用于接收集合对象,var 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型。
2、循环遍历,输出一个范围类的元素。
<c:foreach items ="${lis}" var = "li " begin="2" end
="12">
${li}
</c:foreach>
注意:begin 定义遍历的开始位置,end定义遍历的结束位置。begin 和end的引号必须写。
3、循环遍历,输出除某个元素以外的元素或输出指定元素。
<c:foreach items="${list}" var ="li"
varStatus="status">
<c:if text="${status.count==1}>
${"第一个元素不要"}
</c:if>
${li}
</ c:foreach>
注意:varStatus
表示当前集合的状态(其实是不是,我也不太清楚,只知道这样用,会的人指点下),count为循环一个计算器。
4、循环遍历,输出第一个或最后一个元素。
<c:foreach items="${list}" var ="li"
varStatus="status">
<c:if
text="${status.first}">我是第一个元素</c:if>
<c:if
text="${status.last}">我是最后一个元素</c:if>
</c:foreach>
注意:first表示如果是一个元素,则返回ture,反之则返回false
last 表示如果是最后一个元素,则返回ture,反之则返回false。
5、循环遍历,按指定步长输出。
<c:foreach items="list" var ="li"
step="2">
${li}
</c:foreach>
注意:step为循环的步长。每次隔两个单位输出一个。如:1、3、5、
E. 步步高xplay NFVC标签使用问题
您好!如果其他的手机支持NFC功能 那贴上去才有用的
1、vivo Xplay NFC传输功能操作方法:
两个手机都开启NFC(设置→更多设置→NFC)背对背靠近(NFC芯片在机器背面摄像头右侧),当NFC芯片检测到有手机靠近会有声音和振动提示,同时屏幕图片缩小,代表检测到其它设备,这时在哪个手机上先点触屏,则哪个手机即为发送端,接收端收到的(音乐、图片、视频)等文件后,存放在手机U盘下的NFC文件夹内;收到的名片自动导入联系人列表,并自动打开联系人详情。
发送端传输要点:(1)要传图片要在图片查看界面分享;(2)要传音乐文件要在i音乐本地播放界面分享;(3)要传视频文件要在播放界面分享;(4)要传联系人要在联系人详情界面分享;(5)要传的应用程序要在应用程序打开界面分享,如接收方已有该应用,直接打开该应用。如果接收端没有该应用会自动打开软件商店进入下载;(6)浏览器要在打开网页界面传输,接收方直接打开自带浏览器进入同一页面。
2.2、智能标签(手机与关联好的NFC标签靠近,会自动切换设置)。使用方法如下;
打开智能标签里面的“到家”标签,点击下面的“关联新标签”按钮,将购机配送的NFC标签靠近手机背面摄像头右边(手机端NFC芯片在机器背面摄像头右侧),关联成功后,机器会有声音和振动提示。然后再把关联过的NFC标签放在家里,每次回家后,只要手机背面与标签靠近,刷一下标签,机器就自动切换设置与“到家”标签内的设置一样。
智能标签里面内置有“到家”、“办公”、“睡觉”三个标签,内有默认参数设置,也可以打开标签修改或添加相关设置(打开标签,点击上面的添加操作),还可以通过新增场景增加自定义标签。
F. 关于java中c标签foreach的用法
<c:forEach> 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c:forEach>的本体内容。
语法
语法1:迭代一集合对象之所有成员
<c:forEach [var="varName"] items="collection" [varStatus="varStatusName"]
[begin="begin"] [end="end"] [step="step"]>
本体内容
</c:forEach>
语法2:迭代指定的次数
<c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]>
本体内容
</c:forEach>
var 用来存放现在指到的成员
items 被迭代的集合对象varStatus 用来存放现在指到的相关成员信息
begin 开始的位置
end 结束的位置
step 每次迭代的间隔数
·假若有begin属性时,begin必须大于等于 0
·假若有end属性时,必须大于begin
·假若有step属性时,step必须大于等于0
Null 和 错误处理
·假若items为null时,则表示为一空的集合对象
·假若begin大于或等于items时,则迭代不运算
说明
如果要循序浏览一个集合对象,并将它的内容显示出来,就必须有items属性。
范例
下面的范例 Core_forEach.jsp是将数组中的成员一个个显示出来的:
G. jsp如何用c标签实现分页
jsp用c标签实现分页的方式如下:
<%@taglanguage="java"pageEncoding="UTF-8"%>
<%@tagliburi="/WEB-INF/tld/c.tld"prefix="c"%>
<%@attributename="curIndex"type="java.lang.Long"required="true"%>
<%@attributename="pageSize"type="java.lang.Long"required="true"%>
<%@attributename="pagerRange"type="java.lang.Long"required="true"%>
<%@attributename="totalPage"type="java.lang.Long"required="true"%>
<%@attributename="formId"type="java.lang.String"required="true"%>
<%
longbegin=Math.max(1,curIndex-pagerRange/2);
longend=Math.min(begin+(pagerRange-1),totalPage);
request.setAttribute("p_begin",begin);
request.setAttribute("p_end",end);
%>
<tableclass="pager">
<tr>
<%if(curIndex!=1){%>
<td><ahref="javascript:gotoPage(1)">首页</a></td>
<td><ahref="javascript:gotoPage(<%=curIndex-1%>)">上一页</a></td>
<%}else{%>
<tdclass="disabled"><ahref="#">首页</a></td>
<tdclass="disabled"><ahref="#">上一页</a></td>
<%}%>
<c:forEachvar="i"begin="${p_begin}"end="${p_end}">
<c:choose>
<c:whentest="${i==curIndex}">
<tdclass="active"><ahref="#">${i}</a></td>
</c:when>
<c:otherwise>
<td><ahref="javascript:gotoPage(${i})">${i}</a></td>
</c:otherwise>
</c:choose>
</c:forEach>
<%if(curIndex!=totalPage){%>
<td><ahref="#">下一页</a></td>
<td><ahref="#">末页</a></td>
<%}else{%>
<tdclass="disabled"><ahref="javascript:gotoPage(<%=curIndex+1%>)">下一页</a></td>
<tdclass="disabled"><ahref="javascript:gotoPage(<%=totalPage%>)">末页</a></td>
<%}%>
<td><a>共${totalPage}页</a></td>
<tdclass="input_li">跳转到:<inputtype="text"id="p_pageIndex"size="2"value="<c:outvalue="${pageIndex}"/>"/>页<inputtype="button"id="gotoBtn"onclick="gotoPageByBtn()"value="GO"/></td>
<tdclass="input_li"> 每页:
<selectid="p_pageSizeSelect"onchange="gotoPage(<%=curIndex%>)">
<optionvalue="10"<c:iftest="${pageSize==10}">selected</c:if>>10条</option>
<optionvalue="20"<c:iftest="${pageSize==20}">selected</c:if>>20条</option>
<optionvalue="50"<c:iftest="${pageSize==50}">selected</c:if>>50条</option>
</select>
</td>
</tr>
</table>
控制分页的代码如下
<%@tagliburi="/WEB-INF/tld/c.tld"prefix="c"%>
<%@tagliburi="/WEB-INF/tld/fmt.tld"prefix="fmt"%>
<%@taglibtagdir="/WEB-INF/tags"prefix="tags"%>
<head>
<style><!--分页样式-->
.pager{font:12pxArial,Helvetica,sans-serif;}
.pagera{padding:1px6px;border:solid1px#ddd;background:#fff;text-decoration:none;margin-right:2px;line-height:30px;vertical-align:middle;}
.pager.activea{color:red;border:none;}
.pagera:visited{padding:1px6px;border:solid1px#ddd;background:#fff;text-decoration:none;}
.pagera:hover{color:#fff;background:#ffa501;border-color:#ffa501;text-decoration:none;}
.pager.input_li{padding:1px6px;}
</style>
<script><!--分页跳转脚本-->
functiongotoPage(pageIndex){
varqueryForm=document.getElementById("queryForm");
varaction=queryForm.action;
varpageSize=document.getElementById("p_pageSizeSelect").value;
action+="?pageIndex="+pageIndex+"&pageSize="+pageSize;
//alert(action);
queryForm.action=action;
queryForm.submit();
}
functiongotoPageByBtn(){
varpageIndex=document.getElementById("p_pageIndex").value;
varpageIndexInt=parseInt(pageIndex);
vartotalPage=${totalPage};
if(pageIndexInt>0&&pageIndexInt<totalPage){
gotoPage(pageIndex);
}
else{
alert("输入页数超出范围!");
}
}
</script>
</head>
<body>
<formid="queryForm"action="${basePath}/log/list"method="post">
<table>
<tr>
<td>用户名:</td>
<td><inputtype="text"name="userName"value="<c:outvalue="${userName}"/>"/> </td>
<td><inputtype="submit"text="查询"/></td>
</tr>
</table>
</form>
<tags:pagerpagerRange="10"pageSize="${pageSize}"totalPage="${totalPage}"curIndex="${pageIndex}"formId="queryForm"></tags:pager>
<tableclass="border">
<thead>
<tr>
<thwidth="100">用户名称</th>
<thwidth="500">操作内容</th>
<thwidth="200">操作时间</th>
</tr>
</thead>
<tbody>
<c:forEachitems="${logList}"var="log">
<tr>
<td>${log.userName}</td>
<td>${log.result}</td>
<td>
<fmt:formatDatevalue="${log.createTime}"pattern="yyyy-MM-ddHH:mm:ss"/>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<tags:pagerpagerRange="10"pageSize="${pageSize}"totalPage="${totalPage}"curIndex="${pageIndex}"formId="queryForm"></tags:pager>
</body>