综合案例

条件标签:if choose

复制代码
复制代码
<c:set var="num1" value="1"></c:set>
<c:set var="num2" value="2"></c:set>
<c:if test="${num1>num2}">ok</c:if>
<c:if test="${num2>num1}">not ok</c:if>
<hr/>
<c:choose>
    <c:when test="${num1>num2}">ok</c:when>
    <c:otherwise>fail</c:otherwise>
</c:choose>
<c:forEach items="${num2}" var="str" begin="2" end="4">

</c:forEach>
 
复制代码
复制代码

 

 

 

 运行结果为上图所示

还有forEach操作,其中items里面放的是获取的数组,var是代替的方式,begin是开始的位置,end是结束的地方

在forEach里面还有step这个是你读取数据的方法

还有varStatus这个可以读取.这个数据的信息

比如.index(从0开始的下标)

.count(从1开始的下标)

还有格式化

        <%
            request.setAttribute("data",new Date());
        %>
        ${data}

直接输出日期

 

 

 界面如上

 

 

 

 将数据data进行格式化,

 

 就变成这个样子了

jsp只负责展示servlet才负责处理

复制代码
<html>
<head>
    <title>Title</title>
</head>
<body>
        <%
            request.setAttribute("data",new Date());
        %>
        <fmt:formatDate value="${data}" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate>
<fmt:formatNumber value="3417.347814" maxIntegerDigits="2" maxFractionDigits="2"></fmt:formatNumber>
</body>
</html>
复制代码

其中formatNumber是指取数字int开头的是取前几位数,fract取的是后几位的数

 

函数标签库:

<%
    request.setAttribute("info","Java,C");
%>
${fn:contains(info, "Python")}<br/>
${fn:startsWith(info, "Java")}<br/>
${fn:endsWith(info, "C")}<br/>

这一串代码是判断操作

 

 

这就是全部的

 

 找到了之前读不到的原因,我将这个url写错了,缺少了包的位置,所以之前找不到

同样之前还没有将数据存到req里面

以此为戒

 

 

 

 同样这一串代码输出的是数组里面全部的数据

 

 使值在用户界面展示为中文不会出现乱码

        req.setCharacterEncoding("UTF-8");

remove移除操作

<input readonly>这就可以让该方法不可被修改

posted @   湖南陈冠希  阅读(24)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示