Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate验证程序:如何使用包含格式的变量插入消息${…}";?_Java_Hibernate_Hibernate Validator - Fatal编程技术网

Java Hibernate验证程序:如何使用包含格式的变量插入消息${…}";?

Java Hibernate验证程序:如何使用包含格式的变量插入消息${…}";?,java,hibernate,hibernate-validator,Java,Hibernate,Hibernate Validator,我有一条hibernate验证消息,其中插入了一个值${value} 问题是,值变量本身是一个格式为“${ohno}”的字符串。我希望我的最后一条插值消息将${value}替换为这个文本字符串“${ohno}”,但它似乎试图进行某种递归插值,从而产生错误“找不到属性ohno” 我真的无法在消息模板中“转义”这个字符串。在将它传递给注释之前,也许我可以在字符串本身中转义它,但我不想这样做(我在其他地方将此字符串用作文本) 有人知道附近有工作吗?或者我应该用hibernate validator打开

我有一条hibernate验证消息,其中插入了一个值${value}

问题是,值变量本身是一个格式为“${ohno}”的字符串。我希望我的最后一条插值消息将${value}替换为这个文本字符串“${ohno}”,但它似乎试图进行某种递归插值,从而产生错误“找不到属性ohno”

我真的无法在消息模板中“转义”这个字符串。在将它传递给注释之前,也许我可以在字符串本身中转义它,但我不想这样做(我在其他地方将此字符串用作文本)


有人知道附近有工作吗?或者我应该用hibernate validator打开一个票据…

除了转义{、},\n和$是元字符,需要在Bean验证中转义。请参见规范中的。另请参见验证程序问题跟踪程序中的


现在,如果您真的不想根据Bean验证规范进行插值,那么可以在MessageInterpolator上编写,并确保在验证器初始化期间获取它。基本上,您需要一个validation.xml来指出您的自定义插值器。查看文档,这里有几个例子可以说明如何操作。

谢谢Hardy。我是那个真正创建了这张罚单并在那里做出回应的人。我想我没有太多选择。一个自定义的MessageInterpolator对我来说可能太过分了,所以我只想避开字符串。实际上我找到了一个解决方法。在消息中,我没有使用{value},而是使用了${true?值:“”。哈奇,但它的工作。