Java 如何在SpringMVC错误消息中插入动态文本?
我有一个在Tomcat中运行的SpringMVC应用程序,它运行得很好 我需要能够做的一件事是使用运行时获得的文本自定义错误消息。我对Spring或Java资源包都不是特别熟悉。我已在我的Java 如何在SpringMVC错误消息中插入动态文本?,java,spring-mvc,internationalization,Java,Spring Mvc,Internationalization,我有一个在Tomcat中运行的SpringMVC应用程序,它运行得很好 我需要能够做的一件事是使用运行时获得的文本自定义错误消息。我对Spring或Java资源包都不是特别熟悉。我已在我的.properties文件中尝试了此操作: exception=Something bad, m'kay? {0} 但这会在输出中逐字重复 两个问题: (1) 如何向控制器中的Errors对象提供运行时文本,以及 (2) 如何格式化属性文本以包含该运行时文本。您只需在错误中使用拒绝值(String字段、Str
.properties
文件中尝试了此操作:
exception=Something bad, m'kay? {0}
但这会在
输出中逐字重复
两个问题:
(1) 如何向控制器中的Errors
对象提供运行时文本,以及
(2) 如何格式化属性文本以包含该运行时文本。您只需在
错误中使用拒绝值(String字段、String errorCode、Object[]errorArgs、String defaultMessage)
api即可包含运行时文本
如果我们将此api应用于您问题中所述的错误消息
错误。拒绝值(,异常,新对象[]{},
“有什么不好的,m'kay?很好”)
我仍然不清楚我的运行时文本是如何合并到固定的资源文本中的。该API将消息文本加载到内存中,并用动态字符串替换这些占位符(如{0}、{1}…),这些字符串是以相同的顺序作为对象数组传递的,并返回该字符串。i、 e{0}将被对象[0]替换,{1}将被对象{1}替换…这是不起作用的位。我从中得到的信息是“糟糕的事情,m'kay{0}”。“{0}”未替换为“我的文本”。如果您可以添加控制器代码,说明如何添加错误,那就太好了。。。