为什么<;br>;在GWT中的自定义HTMLColumn中未分析标记?
好的,我有一个HTML列,它应该将任何包含HTML标记的为什么<;br>;在GWT中的自定义HTMLColumn中未分析标记?,gwt,Gwt,好的,我有一个HTML列,它应该将任何包含HTML标记的TextCell解析为HTML值: 公共类HTMLColumn扩展列{ 公共HTMLColumn(){ 超级(新的ClickableTextCell(){ 公共void呈现(上下文, 安全HTML值, 安全HTMLBuilder(sb) { //字符串文本=”; if(值!=null){ //text=value.asString(); 某人以““””号结尾; sb.appendHtmlConstant(“+value.asString()
TextCell
解析为HTML值:
公共类HTMLColumn扩展列{
公共HTMLColumn(){
超级(新的ClickableTextCell(){
公共void呈现(上下文,
安全HTML值,
安全HTMLBuilder(sb)
{
//字符串文本=”;
if(值!=null){
//text=value.asString();
某人以““””号结尾;
sb.appendHtmlConstant(“+value.asString()+”);
某人以““””号结尾;
}
}
});
}
}
好的,当使用文本containcar
bike
进行测试时,我可以看到整个文本变为粗体,因此sb.appendHtmlConstant
似乎是可以的,但这并没有使bike
进入新的行。它将文本呈现为:粗体汽车
自行车
这意味着未分析
这是css问题还是发生了什么事?看起来value
(在render
方法中传递的SafeHtml
不是您想要的
当解析要插入的字符串以成为SafeHtml
时,如果您信任字符串,则需要像下面这样执行
SafeHtml-SafeHtml=safehtmlitls.fromTrustedString(值);
我认为一种方法是使用自己的SafeHtmlRenderer
实现创建ClickableTextCell
ClickableTextCell单元格=新的ClickableTextCell(新的安全HtmlRenderer(){
安全HTML呈现(字符串对象){
从TrustedString(对象)返回SafeHtmlUtils.fromTrustedString;
}
void呈现(字符串对象,SafeHtmlBuilder生成器){
builder.appendHtmlConstant(对象);
}
});