JSP入门教程之客户端验证、常用输出方式及JSTL基本用法

yizhihongxing

JSP入门教程之客户端验证、常用输出方式及JSTL基本用法

客户端验证

在前端页面中,通过Javascript可以实现客户端的表单验证功能。一般来说,我们需要为表单的submit按钮绑定一个函数,通过该函数来实现表单的验证。下面是一个简单的JSP页面,其中输入框中的内容需要进行非空校验:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>表单验证示例</title>
<script type="text/javascript">
function validateForm() {
    var username = document.getElementById("username").value;
    if (username.trim().length == 0) {
        alert("用户名不能为空!");
        return false;
    }
    return true;
}
</script>
</head>
<body>
    <form action="formsubmit.jsp" method="post" onsubmit="return validateForm()">
        <label>用户名:</label><input type="text" id="username" name="username" />
        <br />
        <br />
        <input type="submit" value="提交表单" />
    </form>
</body>
</html>

在该JSP页面中,我们为表单的submit按钮绑定了一个名为validateForm的函数,在该函数中对输入框中的内容进行判断,如果为空则弹出一个警告框,否则返回true。注意,我们需要在form元素中的onsubmit事件中执行该函数,以确保在提交表单前表单已经通过了客户端验证。

常用输出方式

在JSP中输出内容可以使用三种方式:scriptlet、EL表达式、和JSTL标签库。下面分别介绍这三种方式。

1. Scriptlet

使用<% %>标签可以在JSP中嵌入Java代码。如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>Scriptlet示例</title>
</head>
<body>
    <h1>使用Scriptlet输出</h1>
    <%
        String message = "Hello, World!";
        out.println(message);
    %>
</body>
</html>

在该示例中,我们使用了<% %>标签来嵌入Java代码,其中变量message的值为"Hello, World!",我们使用out.println方法将该字符串输出到页面上。

2. EL表达式

EL表达式是JSP提供的一种方便的输出方式,我们可以使用EL表达式输出JavaBean中的属性值或者页面作用域中的属性值。如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>EL表达式示例</title>
</head>
<body>
    <h1>使用EL表达式输出</h1>
    <c:set var="message" value="Hello, World!" />
    ${message}
</body>
</html>

在该示例中,我们使用标签将变量message的值设置为"Hello, World!",然后使用${}语法输出该变量的值。

3. JSTL标签库

JSP标准标签库(JSTL)为JSP页面提供了一系列的标签,用于简化页面中的逻辑判断和输出。下面是一个使用JSTL输出循环列表的示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSTL标签库示例</title>
</head>
<body>
    <h1>使用JSTL输出循环列表</h1>
    <c:forEach var="i" begin="1" end="5">
        <p>当前数字是<c:out value="${i}" /></p>
    </c:forEach>
</body>
</html>

在该示例中,我们使用标签创建一个循环列表,通过${}语法输出变量i的值。

JSTL基本用法

JSTL标签库包含了多个标签,下面简单介绍一下几个常用的标签。

1. 标签

标签用于判断某个条件是否成立,如果成立则输出标签中的内容,否则不输出。下面是一个使用标签判断输入框中的内容是否为null的示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSTL标签库示例</title>
</head>
<body>
    <form action="formsubmit.jsp" method="post">
        <label>用户名:</label><input type="text" id="username" name="username" />
        <br />
        <br />
        <c:if test="${not empty param.username}">
            <input type="submit" value="提交表单" />
        </c:if>
    </form>
</body>
</html>

在该示例中,我们使用标签判断参数username是否为空,如果不为空的话则输出提交表单按钮。

2. 标签

标签常用于多重条件判断,可以代替Java中的if-else语句。下面是一个使用标签判断数字大小的示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSTL标签库示例</title>
</head>
<body>
    <h1>使用<c:choose>和<c:when>判断数字大小</h1>
    <c:set var="number" value="30" />
    <c:choose>
        <c:when test="${ number < 10 }">
            <p>数字小于10</p>
        </c:when>
        <c:when test="${ number < 20 }">
            <p>数字小于20</p>
        </c:when>
        <c:otherwise>
            <p>数字大于等于20</p>
        </c:otherwise>
    </c:choose>
</body>
</html>

在该示例中,我们使用标签判断输入的数字大小。如果数字小于10,则输出数字小于10;如果数字小于20,则输出数字小于20;否则输出数字大于等于20。

总结

在本篇文章中,我们介绍了JSP中的客户端验证、常用输出方式和JSTL基本用法。客户端验证可以通过Javascript实现表单的非空校验,以保证表单提交的数据的正确性。常用输出方式包括scriptlet、EL表达式和JSTL标签库,分别用于在JSP页面中输出Java代码、变量值和循环列表等信息。JSTL标签库包含了多个标签,可以用于页面的逻辑判断和循环列表的输出等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSP入门教程之客户端验证、常用输出方式及JSTL基本用法 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • python闭包的实例详解

    下面我将为您详细讲解 “Python闭包的实例详解”。 什么是闭包 在介绍闭包的实例之前,我们先来了解闭包的概念。闭包是指在函数内部再定义函数,并且这个内部函数可以引用到外部函数中的变量,叫做闭包。 下面是一个简单的例子,函数 counter 返回了内部函数 add,而 add 引用了外层的变量 n。 def counter(n): def add(m): …

    JavaScript 2023年6月10日
    00
  • JavaScript eval()函数定义及使用方法详解

    JavaScript eval()函数定义及使用方法详解 简介 eval()是JavaScript内置函数之一,它可以把一个字符串解释为JS代码并且执行。使用eval()函数需要非常小心,因为不正确使用会导致安全问题。 语法 eval()函数的语法如下: eval(string) 其中string为一个包含JS代码的字符串。 使用方法 简单使用 下面我们看一…

    JavaScript 2023年5月27日
    00
  • 详解Javascript中的原型OOP

    详解JavaScript中的原型OOP 什么是原型OOP 原型OOP是指JavaScript中通过原型链实现面向对象编程的方式。它利用每个JavaScript对象都有一个指向原型的指针,通过原型链可以实现继承和复用,从而实现面向对象编程的特性。 原型链 原型链是通过每个对象都有一个指向原型的指针,从而形成的链式结构。例如: let animal = { ea…

    JavaScript 2023年6月10日
    00
  • Javascript常用字符串判断函数代码分享

    下面是详细的Javascript常用字符串判断函数代码分享。 前言 在Javascript编程中,字符串判断是一个非常重要的部分。字符串判断函数主要是用于判断字符串是否符合某些功能的要求。因此,开发者在编写代码时,需要适时的调用这些函数。接下来,我们将分享一些常用的字符串判断函数。 字符串判断函数 1. includes() includes() 函数可以用…

    JavaScript 2023年5月19日
    00
  • 七种JS实现数组去重的方式

    七种JS实现数组去重的方式 数组去重是JS中常用的操作之一。本文将介绍七种JS实现数组去重的方式,其中包括了常见的基于ES6的Set去重方式、基于map去重方式,以及经典的双重循环方式、indexOf方式、includes方式、filter方式和reduce方式。 在介绍这七种去重方式前,先定义一个示例数组arr,便于后续的演示: const arr = […

    JavaScript 2023年5月27日
    00
  • JS实现1000以内被3或5整除的数字之和

    实现1000以内被3或5整除的数字之和可以通过JavaScript的for循环语句、if条件语句以及数组等语法实现。下面是具体的实现步骤: 确定要使用的语法 由于要实现条件判断和循环操作,因此我们可以使用JavaScript的if条件语句和for循环语句。此外,我们还需要使用数组来存储符合条件的数字。 确定实现思路 首先,我们需要遍历1到1000之间的所有数…

    JavaScript 2023年5月28日
    00
  • IE8 新增的Javascript 开发接口说明

    IE8新增的Javascript开发接口说明 Internet Explorer 8(简称IE8)是微软公司开发的一款网页浏览器,它在Javascript开发接口方面新增了很多功能,本文将对其进行详细讲解。 1. IE8新增的Javascript开发接口说明 1.1. 跨文档消息传递 IE8中新增了window.postMessage方法,可以在不同的窗口(…

    JavaScript 2023年6月10日
    00
  • AngularJS中实现用户访问的身份认证和表单验证功能

    下面是“AngularJS中实现用户访问的身份认证和表单验证功能”的完整攻略。 1. 什么是身份认证和表单验证 身份认证是指在用户访问应用程序时,应用程序需要检查用户的身份,以确定该用户是否有权限访问特定的页面或资源。表单验证是指在向服务器提交数据之前,需要验证用户输入的数据是否符合指定的格式和规则。 在AngularJS中,可以使用AngularJS提供的…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部