为了账号安全,请及时绑定邮箱和手机立即绑定

Web应用开发: JSP语法编程实践(五):JSTL编程实践

标签:
Java

一、实验内容

1、JSTL标签库的熟练使用
在页面中接收用户输入的字符串,使用JSTL将此字符串反向输出。不允许使用Java代码。
2、JSTL标签库的熟练使用
使用JSTL在页面中输出1到100的质数。不允许使用Java代码。。

二、实验要求

源代码和测试截图(均直接输入到答题框中)

三、实验代码

题目一:

分为两个jsp,form.jsp用于表单输入,reout.jsp用于逆序输出
注意JSTL库的导入(教程:http://www.runoob.com/jsp/jsp-jstl.html

//form.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>表单输入</title></head><body>


    <form action="reout.jsp" method="post">
        <table border="1" width="50%" align="center">
        <tr>
                <td>输入一串字符:</td>
                <td><input type="text" name="str"></td>
        </tr>
        <tr>
                <td colspan="2" align="center"><input type="submit" value="提交"></td>
        </tr>
            
        </table>
    </form></body></html>
//reout.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %><!DOCTYPE html><html><head><meta charset="UTF-8"><title>逆向输出</title></head><body><!-- 利用EL表达式param获取到表单传入的str字符串 --><c:set var="str" value ="${param.str}" /><!-- 输出正序的str字符串 --><c:out value="${str}"></c:out><!--获取字符串长度  --><c:set var="strlen" value="${fn:length(str)}" /><!-- 获JSTL的foreach循环,从头到字符串末尾,以1计数
fn:substring()函数返回字符串中指定开始和结束索引的子串
依次拼接在newstr的前面,最后输出则为逆序 --><c:forEach var="i" begin="0" end="${strlen}" step="1"><c:set var = "newstr" value="${fn:substring(str,i,i+1)}${newstr}" /></c:forEach><c:out value="${newstr}"></c:out></body></html>

webp

表单输入

webp

逆序输出

题目二:

见注释

//zhishu.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
     <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><p>1到100的质数:</p><!-- 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数 --><c:forEach begin="2" end="100" varStatus="vs"><!-- 设置一个exitId用于避免重复输出,即有一个数能整除你,则代表你不是质数 -->
 <c:set var="exitId" value="1"></c:set> 
 
        <!-- 绑定的status封装了当前遍历的状态,可以从该对象上查看是遍历到了第几个元素,从2开始到自己本身-->
        <c:forEach begin="2" end="${vs.index}" varStatus="vs2"> 
        
            <!-- 如果能被除自己以外的数整除(非质数),则exitId赋值0 -->
            <c:if test="${vs.index%vs2.index==0&&vs.index!=vs2.index}">  
                 <c:set var="exitId" value="0"></c:set>  
            </c:if> 
            
            <!-- 如果只能被自己整除(质数)且exitId=1保留到了最后-->
            <c:if test="${vs.index%vs2.index==0&&exitId==1 }">
                 <c:set var="exitId" value="1"></c:set> 
                    ${vs.index}            </c:if>
            
        </c:forEach>
        </c:forEach></body></html>

webp



作者:Topus
链接:https://www.jianshu.com/p/7db4271ec986
x


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消