2011-10-04 74 views
0

我有这种风格在我UiBinder的:GWT CSS资源的混淆错误

<ui:style type="com.mycompany.MyApp.MyStyle"> 
     .something { 
      width: 50em; 
     } 

    div.dm { 
     float: left; 
     display: inline-block; 
     width: 50em; 
    } 

    .test-name { 
     margin: 10px 10px; 
    }  
</ui:style> 

这是对资源的接口:

interface MyStyle extends CssResource { 
     @ClassName("something ") //This doesn't work either 
     String somethingClass(); 
//  String something(); //This works! 
     @ClassName("div.dm") 
     String divClass(); 
     @ClassName("test-name") 
     String testNameClass(); 
     } 

但后来我得到这个错误:

[ERROR] div.dm: Fix by adding .something{} 
    [ERROR] div.dm: Fix by adding .div.dm{} 
    [ERROR] test-name: Fix by adding .test-name{} 
    [ERROR] Generator 'com.google.gwt.resources.rebind.context.InlineClientBundleGenerator' threw an exception while rebinding 

有人有什么想法吗?我正在使用GWT 2.4。

回答

1

在你的div.dm选择器中,类名是dm,所以@ClassName("dm")

我不幸不明白test-name;让我们希望这是第一个错误的副作用;-)

+0

我得到同样的错误:[错误] dm:通过添加.dm修复{} – Asim

2

(删除以前的答案,在这方面没有意义)。

看起来这是一个错误(或打算?)。在GWT问题跟踪器中有几个报告有些相关:Capitalized classnames used in @ClassName within doesn't workNon-Java method safe characters in inline class names doesn't work后者具有状态固定,但也有评论表示使ClassName正常工作。这个评论是在固定问题之前提出的,所以目前还不清楚它是打算修复的,还是已经修复的,但是不起作用。

类名似乎只在下列组合的工作:

@ClassName("test-name") 
String testName() 

和CSS:

.test-name { 
} 

要走的路似乎方法/ UI是使用相同的名称:风格或使用破折号/驼峰组合。

+0

是的,这很好。谢谢 – Asim