2011-10-04 67 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