无法在JSP中使用JSTL迭代数组(java.lang.NoClassDefFoundError)

问题描述 投票:0回答:1

我在尝试在 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>
spring jsp tomcat jstl
1个回答
0
投票

您缺少 javax.servlet.jsp.tagext.TagLibraryValidator 类。

检查这个答案

© www.soinside.com 2019 - 2024. All rights reserved.