String 字符串到字符串的ValueConverter
我需要对所有字符串执行其他修改,是否可以使用目标类型String 字符串到字符串的ValueConverter,string,grails,valueconverter,String,Grails,Valueconverter,我需要对所有字符串执行其他修改,是否可以使用目标类型字符串制作一个ValueConverter,或者如果不可以,我可以用什么其他方式来做 class StringValueConverter implements ValueConverter { @Override boolean canConvert(Object value) { value instanceof String } @Override Object convert(O
字符串
制作一个ValueConverter,或者如果不可以,我可以用什么其他方式来做
class StringValueConverter implements ValueConverter {
@Override
boolean canConvert(Object value) {
value instanceof String
}
@Override
Object convert(Object value) {
//modifying value
}
@Override
Class<?> getTargetType() {
return String
}
}
类StringValueConverter实现ValueConverter{
@凌驾
布尔canConvert(对象值){
字符串的值实例
}
@凌驾
对象转换(对象值){
//修改值
}
@凌驾
类getTargetType(){
返回字符串
}
}
在Groovy中绑定之前,我需要这样做。是的,您可以。有多种方式: 使用是其中之一 另一种方法是使用运行时元编程,例如:
String.metaClass.flip = {
delegate.reverse()
}
assert "Hello".flip() == "olleH"
上面是一个人为地向字符串元类添加方法的示例,但您的示例中的convert方法也适用
但是,如果您希望通过
canConvert
添加健全性,则扩展模块在您的情况下是健壮的,因为运行时元类方法不需要它,因为它们只适用于String
类。举个例子会有所帮助。@Vladimir:这个问题发生了什么?问题解决了吗?我需要类似的东西。@sola我创建了一个扩展DataBindingListenerAdapter@sola