2012-12-03 60 views
2

我有一個GWT 2.4應用程序,它有不同的客戶端軟件包中的許多UiBinders,設置了以下同:單CSS樣式表在不同的包

  • com.xxx

    • project.gwt.xml
  • com.xxx.client

    • entrypoint.java
    • stylesheet.css中
  • com.xxx.client.package1

    • Page1.java
    • Page1.ui.xml
    • stylesheet.css中
  • com.xxx.client.package2

    • Page2.java
    • Page2.ui.xml
    • stylesheet.css中
  • com.xxx.client.package3

    • Page3.java
    • Page3.ui.xml
  • 戰爭

    • 的index.html
    • global_stylesheet.css

在我ui.xml文件,我不得不引用stylesheet.css中文件,該文件是內與UiBinder相同的軟件包。我一直在試圖引用global_stylesheet.css文件,但沒有運氣。理想情況下,我希望能夠繼續使用應用樣式的{style.xxx}方法。

回答

2

您可以使用中央ClientBundle與CssResource爲@Source("global_stylesheet.css"),並從UiBinder的模板引用它:

<ui:with type="mypackage.client.MyClientBundle" field="myClientBundle"/> 

所以,你可以使用它像:

<g:Label addStyleNames="{myClientBundle.myCssResource.example}"/> 

但你必須把global_stylesheet.css放在你的類路徑的某個地方 - 否則它不可能被編譯。

此外,不要忘記調用CssResource上的ensureInjected()。