我在尝试在 JSP 页面中使用 JSTL 标记迭代一系列爱好时遇到问题 (
registration-success.jsp
)。我使用 Spring MVC 作为容器。
目标:
我的JSP页面显示用户提交的注册详细信息,包括他们的爱好。我正在使用
c:forEach
循环来迭代 hobbies
对象的 userReg
属性。
错误信息:
java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator
代码片段:
RegistrationController.java
package com.springmvc.ic.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import com.springmvc.ic.api.UserRegistrationDTO;
@Controller
public class RegistrationController {
@RequestMapping("/register")
public String showRegistrationPage(
@ModelAttribute("userRegistrationInfo") UserRegistrationDTO dto) {
dto.setName("ajay");
return "user-registration-page";
}
@RequestMapping("registration-success")
public String processUserReg(@ModelAttribute("userReg") UserRegistrationDTO dto) {
return "registration-success";
}
}
注册成功.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>registration-success</title>
</head>
<body>
<h1 align="center">Love Calculator</h1>
<hr>
<div align="center">
<h2>Registration successful</h2>
<h2>The details you entered are:</h2>
Name: ${userReg.name} <br> UserName: ${userReg.userName} <br>
Password: ${userReg.password} <br> Country: ${userReg.country} <br>
Hobbies:
<c:forEach var="hobby" items="${userReg.hobbies}">
${hobby}
</c:forEach>
<br>Gender: ${userReg.gender}
</div>
</body>
</html>
您缺少 javax.servlet.jsp.tagext.TagLibraryValidator 类。
检查这个答案。