Java GWT在应用自定义celltable / datagrid css样式时如何编写文件路径

时间:2012-07-08 23:49:12

标签: java gwt datagrid classpath filepath

我正在使用java GWT 2.4来编写Web应用程序。

我想将自定义css样式附加到DataGrid,但是编写css文件路径时遇到问题。 以下是我的代码:

 interface DataGridResources extends DataGrid.Resources
 {
  @Source(value = { DataGrid.Style.DEFAULT_CSS,
  "filepath/myDataGridStyle.css" })  // I should put the correct css file path here. 
  DataGrid.Style dataGridStyle();
 }

myDataGridStyle.css文件与我的接口类不在同一个文件中。 基本上文件分发如下:

MyWebProject

- > SRC

---> com.test.javafiles

------> test1.java

------> test2.java

- > war(在同一级别的src文件中)

---> WEB-INF

---> myDataGrid.css(这是我的css文件所在的位置。它位于war文件下。所有css样式都在这个文件中。)

myDataGrid.css位于WAR文件下,该文件位于项目文件的根目录下。所以我的问题是如何将源文件路径重定向到正确的位置。

我的css文件放在WAR文件中,该文件与src文件的级别相同。例如,我的接口文件放在myproject / src / com / test / javafiles中。 my myDataGridStyle.css放在myproject / war / myDataGridStyle.css中。如何为此编写文件路径?

最好的问候

1 个答案:

答案 0 :(得分:1)

将* .css文件放在war文件夹中是不可能的。 * .css文件必须驻留在java包中(我更喜欢将它放在与接口相同的包中,这样就可以相对引用该文件)。 css文件将被编译到您的GWT应用程序中。这就是为什么没有必要在战争中提供你的css文件。另一个原因是css资源可以在css代码中使用由编译器替换的特殊构造。但是,在this中查看详细信息是不可能的。

所以看起来应该是这样的:

 interface DataGridResources extends DataGrid.Resources
 {
  @Source(value = { DataGrid.Style.DEFAULT_CSS,
  "myDataGridStyle.css" })  // I should put the correct css file path here. 
  DataGrid.Style dataGridStyle();
 }

- > SRC

---> com.test.javafiles

------> test1.java

------> test2.java

------> myDataGrid.css