gpt4 book ai didi

java - 为什么这里是 "Duplicate local variable messages"?

转载 作者:行者123 更新时间:2023-11-29 03:21:53 25 4
gpt4 key购买 nike

引用了 33-35 行代码后:https://github.com/springinpractice/sip04/blob/04/src/main/webapp/WEB-INF/jsp/users/registrationForm.jsp .

<form:errors path="username">
<div class="errorMessage"><form:errors path="username" htmlEscape="false" /></div>
</form:errors>

我一保存该文件,就在 MyEclipse 中 "username" 下的第二行收到错误:

Duplicate local variable messages.

为什么会出现这个错误以及如何解决。

但是那个jsp页面可以正常渲染,没有任何错误。

编辑

我正在尝试进行表单验证,这是我的代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>

<body>
<h1><spring:message code="user.registration.heading"/></h1>

<form:form action="" modelAttribute="user" method="POST">

<form:errors path="*">
<div><spring:message code="error.global"/></div>
</form:errors>

<!-- for username -->
<div>
<div style="display: inline-block; width: 100px;">
<spring:message code="user.registration.label.username" />
</div>
<div style="display: inline-block;">
<form:input path="username" />
<form:errors path="username">
<div class="errorMessage"><form:errors path="username" htmlEscape="false" /></div>
</form:errors>
</div>
</div>


password: <form:input path="password" /> <form:errors path="password"/><br/>
confirm password: <form:input path="confirmPassword" /> <form:errors path="confirmPassword"/> <br/>
name: <form:input path="name" /> <form:errors path="name"/><br/>
email: <form:input path="email" /> <form:errors path="email"/><br/>
department: <form:input path="department" /> <form:errors path="department"/>. <br/>
<input type="submit" value="Register" />
</form:form>

</body>
</html>

这是该错误的屏幕截图:

enter image description here

最佳答案

这可能与form:errors的实现有关。看一眼标签库 spring-form.tld 就会发现标签定义了一个名为 messages 的变量:

<!-- <form:errors/> -->
<tag>
<name>errors</name>
<tag-class>org.springframework.web.servlet.tags.form.ErrorsTag</tag-class>
<body-content>JSP</body-content>
<description>Renders field errors in an HTML 'span' tag.</description>
<variable>
<name-given>messages</name-given>
<variable-class>java.util.List</variable-class>
</variable>

我没能找到标签库的原始来源,但你可以在这里查看:http://www.docjar.com/docs2web/inside/spring-webmvc-2.5.6.jar/detail/META-INF/spring-form.tld

您将 form:errors 嵌套到另一个 form:errors 中的事实可能是此消息的来源。

关于java - 为什么这里是 "Duplicate local variable messages"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com