现在的位置: 首页 > 综合 > 正文

使用JSTL进行页面服务器端校验

2013年11月05日 ⁄ 综合 ⁄ 共 1194字 ⁄ 字号 评论关闭

验证JSP(包含用户输入)

验证条件为,姓名和年龄均为必填字段,并且年龄必须大于18岁

<%@ page contentType="text/html; charset=gb2312" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<html>
<head>

<title>Currency Formatting</title>
</head>
<body>

<c:if test="${param.submitted}">
 
<c:if test="${empty param.name}" var="noName"/>
 
<c:if test="${empty param.age}" var="noAge"/>
 
<c:catch var="errorAge">
   
<fmt:parseNumber var="paraseAge" value="${param.age}"/>
   
<c:if test="${paraseAge < 18}" var="youngAge"/>
 
</c:catch> 

 
<c:if test="${not(noName or noAge or youngAge)}">
 
  
<c:set value="${param.name}" var="name" scope="request"></c:set>
  
<c:set value="${param.age}" var="age" scope="request"></c:set>
  
<jsp:forward page="result.jsp"></jsp:forward>
</c:if>
</c:if>



<form action="validate.jsp">
<input type="hidden" name="submitted" value="true"/>
输入姓名(必填):
<input type="text" name="name"/><br>
<c:if test="${noName}">请输入姓名<br></c:if>
输入年龄(必填,大于18岁)
<input type="text" name="age"/><br>
<c:if test="${noAge}">请输入年龄<br></c:if>
<c:if test="${youngAge}">年龄必须大于18<br></c:if>
<input type="submit" value="submit"/>
</form>

</body>
</html>

验证通过后的页面为result.jsp,如果验证不通过,则跳转会原输入页面

 

抱歉!评论已关闭.