SangerTom 发表于 2024-11-12 17:20

JSP页面使用EL 和 JSTL 标签对输入的数据进行展示、验证和逻辑处理

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>用户输入表单示例</title>
</head>
<body>
<h2>用户输入表单</h2>

<!-- 用户输入表单 -->
<form action="user_form.jsp" method="post">
    <label for="username">用户名:</label>
    <input type="text" id="username" name="username" required><br><br>

    <label for="email">邮箱:</label>
    <input type="email" id="email" name="email" required><br><br>

    <label for="age">年龄:</label>
    <input type="number" id="age" name="age" required><br><br>

    <input type="submit" value="提交">
</form>

<!-- 使用 c:if 检查输入的有效性 -->
<c:if test="${not empty param.username}">
    <h3>输入数据展示与验证:</h3>
    <p>用户名: <c:out value="${param.username}"/></p>

    <c:if test="${empty param.email}">
      <p>邮箱地址未输入,请返回填写。</p>
    </c:if>
    <c:if test="${not empty param.email}">
      <p>邮箱: <c:out value="${param.email}"/></p>

      <c:if test="${param.age <= 0 || param.age > 100}">
            <p>年龄输入无效,请输入一个合理的年龄。</p>
      </c:if>
      <c:if test="${param.age > 0 && param.age <= 100}">
            <p>年龄: <c:out value="${param.age}"/></p>
      </c:if>
    </c:if>
</c:if>

<!-- 使用 c:forEach 迭代输出结果 -->
<c:if test="${not empty param.username and not empty param.email and param.age > 0 and param.age <= 100}">
    <h3>用户信息汇总:</h3>
    <ul>
      <li>用户名: <c:out value="${param.username}"/></li>
      <li>邮箱: <c:out value="${param.email}"/></li>
      <li>年龄: <c:out value="${param.age}"/></li>
    </ul>
</c:if>
</body>
</html>最经在学习了jsp,发现了很好用的EL和JSTL

mr88fang 发表于 2024-11-12 17:51

jsp 这…… 是不是有点过时了,现在用jsp大部分都是老项目维护吧!{:301_998:}

coderFuns 发表于 2024-11-12 19:32

jsp+servlet,很经典的搭配

愷龍 发表于 2024-11-12 20:12

coderFuns 发表于 2024-11-12 19:32
jsp+servlet,很经典的搭配

现在的springboot其实还是用的servlet

materone 发表于 2024-11-12 22:08

个人觉得,能够解决特定问题的技术,永不过时,CGI 也

coderFuns 发表于 2024-11-13 08:56

愷龍 发表于 2024-11-12 20:12
现在的springboot其实还是用的servlet

底层都是封装的servlet那一套,包括Tomcat

SangerTom 发表于 2024-11-13 10:37

mr88fang 发表于 2024-11-12 17:51
jsp 这…… 是不是有点过时了,现在用jsp大部分都是老项目维护吧!

{:1_893:}是有点老

allxxall 发表于 2024-11-15 10:58

jsp过时的一部分原因是其在前端展示页面中嵌套了后端的代码逻辑,搞得代码复杂度提升
另一方面是其存在sql注入安全问题,且对包含各种逻辑的代码进行编译消耗比单独的html是大的;
个人建议是浅尝辄止,jsp大致入门即可满足使用

xiaoyi0501 发表于 2024-11-18 15:13

小白初来乍到,一起学习一起进步

coderFuns 发表于 2024-11-18 21:06

materone 发表于 2024-11-12 22:08
个人觉得,能够解决特定问题的技术,永不过时,CGI 也

oh yeah,{:1_918:}
页: [1]
查看完整版本: JSP页面使用EL 和 JSTL 标签对输入的数据进行展示、验证和逻辑处理