我想实现类似于Cell Validation展示示例的内容,可以在这里找到
http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwCellValidation
在查看代码并尝试实现它之后,模板似乎缺少类/变量deffinition。它出现在2个地方的代码中
public ValidatableInputCell(String errorMessage) {
super("change");
if (template == null) {
template = GWT.create(Template.class);
}
this.errorMessage = SimpleHtmlSanitizer.sanitizeHtml(errorMessage);
}
SafeStyles safeColor = SafeStylesUtils.fromTrustedString("color: " + color + ";");
sb.append(template.input(pendingValue != null ? pendingValue : value, safeColor));
if (invalid) {
sb.appendHtmlConstant(" <span style='color:red;'>");
sb.append(errorMessage);
sb.appendHtmlConstant("</span>");
}
在搜索网页后,我找到了一些模板变量定义应该是什么的例子,并提出了
interface Template extends SafeHtmlTemplates {
@Template("<input type=\"text\" value=\"{0}\" tabindex=\"-1\" size=\"{1}\"></input>")
SafeHtml input(String value, SafeHtml safeStyles);
}
private Template template;
添加上面的代码没有编译器警告代码执行时我得到此错误
在非CSS属性上下文中使用的SafeStyles。你的意思是使用java.lang.String或SafeHtml吗?
有关如何解决此问题的任何想法?
答案 0 :(得分:1)
您要查找的模板定义错过了@ShowcaseSource
注释,因此您无法在验证示例的源选项卡中看到它。
无论如何,here是原始代码。模板是:
interface Template extends SafeHtmlTemplates {
@Template("<input type=\"text\" value=\"{0}\" style=\"{1}\" tabindex=\"-1\"/>")
SafeHtml input(String value, SafeStyles color);
}
您看到的错误是因为您使用SafeStyle
元素(由{1}
引用)作为size
属性的值(而不是style
)。< / p>