spring 3.0 MVC 似乎忽略 messages.properties

2023-12-08

Spring 3.0 MVC

首先,我没有找到任何有关 messages.properties @ 的文档泉源我在各种论坛上发现了有关覆盖错误消息的所有内容。如果有人能参考 messages.properties 的记录位置,那就太棒了。也许 messages.properties 不是来自 spring 而是来自 java 规范?

我尝试遵循以下建议JSR-303 绑定前类型检查我的目标是用我自己的用户友好错误消息替换某些类型不匹配错误消息

我的情况如下:

Model

public class Test {

    private int numberbomb;

    public int getNumberbomb() {
        return numberbomb;
    }

    public void setNumberbomb(int numberbomb) {
        this.numberbomb = numberbomb;
    }
}

myservlet.xml

<mvc:annotation-driven/>

jsp

<form:form id="test" method="post" modelAttribute="test">

<form:errors path="*"/>

<form:label path="numberbomb">numberbomb</form:label>
<form:input path="numberbomb"/>

</form:form>

类\messages.properties

typeMismatch=bad value you bad bad person
test.numberbomb=you are driving me crazy with these bad inputs

表格输出

无法将 java.lang.String 类型的属性值转换为属性 numberbomb 所需的 int 类型;嵌套异常是 org.springframework.core.convert.ConversionFailedException:无法将值“三”从 java.lang.String 类型转换为 int 类型;嵌套异常是 java.lang.NumberFormatException: 对于输入字符串:“三”

我的控制器中的 BindingResult.toString()

字段“numberbomb”上的对象“test”中的字段错误:拒绝值[三];代码 [typeMismatch.test.numberbomb,typeMismatch.numberbomb,typeMismatch.int,typeMismatch];参数 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [test.numberbomb,numberbomb];参数[];默认消息[numberbomb]];默认消息[无法将类型“java.lang.String”的属性值转换为属性“numberbomb”所需的类型“int”;嵌套异常是 org.springframework.core.convert.ConversionFailedException:无法将值“三”从类型“java.lang.String”转换为类型“int”;嵌套异常是 java.lang.NumberFormatException: 对于输入字符串:“三”]

显示错误消息<form:errors>显示自定义错误消息的方式错误?我是否需要在 spring 配置文件中添加一些内容来告诉它查看 messages.properties? Spring 似乎忽略了我的 messages.properties 文件(位于 WEB-INF\classes 文件夹中)

感谢您的任何想法!


我的一位同事为我指明了正确的方向。我更改了 myservlet.xml 中的 messageSource bean

from

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basename" value="messages" />
    <property name="cacheSeconds" value="1" />
</bean>

to

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value="messages"/>
</bean>

无论出于何种原因,这都解决了问题。谢谢同事! :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring 3.0 MVC 似乎忽略 messages.properties 的相关文章

随机推荐

  • 使用 fuzzywuzzy 在数据框中创建一列匹配结果

    我遇到了使用 FuzzyWuzzy 库将所有 结果存储在数据框列中的挑战 我猜它可能需要循环 我一整天都在摸索这个问题 现在我想看看你们谁能帮我解决问题 会超级有帮助的 作为我想做的一个例子 这里有 2 个数据框表 主表 ID ITEM 1
  • 将数据附加到 S3 对象

    假设我有一台机器 我希望能够将其写入存储在 S3 存储桶上的某个日志文件 因此 机器需要具有对该存储桶的写入能力 但是 我不希望它能够覆盖或删除该存储桶中的任何文件 包括我希望其写入的文件 所以基本上 我希望我的机器能够仅将数据附加到该日志
  • 当没有数据类型可以容纳完整数字时将十六进制转换为十进制

    我正在使用 C 语言的 PIC 微处理器 它是 16F 因此它不能保存大于 32 位的整数 无符号int32是可用的最大数据大小 我从阅读器处收到一个 5 字节的 ID 代码 为了传输它 我必须逐位编码为 BCD 我无法将其冲刺为字符串 因
  • 使用 JavaScript 检测 NPAPI 支持

    如何从 JavaScript 检测浏览器是否支持 NPAPI 并非所有人都这样做 虽然我可以依赖用户代理 但如果存在的话 我宁愿采用一种更可靠的方式来实现 不幸的是 我无法简单地检测我的插件是否已加载 因为该插件可能尚未安装在支持的浏览器上
  • Playframework - Eclipse 无法检测到新模板[重复]

    这个问题在这里已经有答案了 可能的重复 如何让Eclipse看到Play中的变化 编译模板 我正在迈出 Play 的第一步 框架和我遇到了一些问题 我可以毫无问题地创建和消除一个项目 现在 如果我添加一个新视图 例如 sometest sc
  • 登录 Azure Web 应用程序失败,并显示“AADSTS50079:用户需要使用多重身份验证”

    我们有一个 Azure Web 应用程序 它通过 Azure 多因素身份验证进行身份验证并访问 Graph API 和 Power BI 我们已经设置了 Azure 应用程序注册所需的权限 我们使用 Redis 缓存将令牌详细信息存储在 N
  • Yii 2.0 Restful Web 服务 API

    有人使用 Yii 2 0 beta 中集成的 RESTful Web 服务吗 官方的说明文档看起来很简单 但对我来说不起作用 我正在使用基本模板 使用 gii 模块创建一个简单的 类别 模型扩展ActiveRecord 然后我创建了Cate
  • Ansible:如何增加IP地址?

    我将一个变量传递给 Ansible extra vars lan 10 10 10 1 我现在需要增加这个 IP 地址 以便最后一个八位字节是 2所以它将等于10 10 10 2 在 Ansible 中如何实现这一点 从 Ansible 2
  • SQL WHERE 子句中的加号是什么意思 (WHERE + userName = SYSTEM_USER)

    我一直在试图找到 where 子句中加号的含义 有人对此有什么想法吗 被卡住了一点 查询本身非常简单 无论有或没有加号 其工作方式都类似 我想删除它 除非它的存在是有原因的 SELECT userID from tblUser WHERE
  • 如何根据嵌入数组过滤文档?

    审核后这一页 特别是这个查询 db scores find results elemMatch gte 80 lt 85 我使用了以下导入 import static com mongodb client model Filters and
  • 将重载指针传递给成员函数信号作为 QObject::connect 的参数[重复]

    这个问题在这里已经有答案了 在 Qt 中 如果信号没有过载 它可以像这样传递给 connect 方法 QObject connect comboBox QComboBox currentTextChanged gt void 但如果信号过载
  • 如何在Python中获取列表中出现频率最高的10个字符串

    我有一个包含 93 个不同字符串的列表 我需要找到 10 个最频繁出现的字符串 并且返回必须按从最频繁到最不频繁的顺序排列 mylist and beware twas all all and and and and and and and
  • 半正矢公式中的连接运算

    我正在 PHP 中实现 Haversine 公式 如下所示 result mysqli query mysqli SELECT 6371 acos cos radians lat cos radians latitude cos radia
  • 新添加的元素 $.each 和 events

    我已经阅读了很多帖子 each并新增了元素 事件附件 StackOverflow 上当前有关此主题的许多问题似乎对我不起作用 on 通常推荐 因为它允许我们附加新元素并且仍然维护单个事件侦听器 处理程序 在我当前的代码中 1 input t
  • 检测可穿戴设备何时与 Android 手机连接/断开连接

    Pebble 手表有一个 Intent 当 Pebble 连接 断开连接时会全局发送 这允许手机应用程序知道手表是否已连接 我已进行搜索 但无法找到有关 Android Wear 类似功能的信息 如何知道可穿戴设备是否已连接到手机 是否可以
  • 生成 Linkedin 访问令牌

    我一直在尝试使用简单的 REST 客户端以及 Mozilla 的 REST 插件 我正进入 状态 HTTP 1 1 401 未经授权 响应 正文中的 error unauthorized client error description 客
  • .NET,每分钟都有事件(每分钟)。计时器是最好的选择吗?

    我想使用 C 在 Windows 窗体应用程序中每分钟 按时钟 做一些事情 我只是想知道最好的方法是什么 我可以使用计时器并将其间隔设置为 60000 但要让它按分钟运行 我必须精确地按分钟启用它 这不太可行 我可以使用计时器并将其间隔设置
  • java.lang.SecurityException:权限拒绝:实现内容提供程序时打开提供程序

    我有问题 我尝试在我的消费者应用程序中实现内容提供程序 这是我来自应用程序 A 提供商 的 Android 清单
  • 以相反顺序打印 bash 参数

    我必须编写一个脚本 它将接受所有参数并反向打印它们 我已经提出了解决方案 但发现它非常糟糕 你有更聪明的主意吗 bin sh gt tekst txt for i in do echo i cat tekst txt gt temp mv
  • spring 3.0 MVC 似乎忽略 messages.properties

    Spring 3 0 MVC 首先 我没有找到任何有关 messages properties 的文档泉源我在各种论坛上发现了有关覆盖错误消息的所有内容 如果有人能参考 messages properties 的记录位置 那就太棒了 也许