我正在使用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
->源
---> com.test.java文件
------> test1.java
------> test2.java
-> war(与src文件处于同一级别)
---> WEB-INF
---> myDataGrid.css(这是我的css文件所在的位置。它位于war文件下。所有css样式都在此文件中。)
myDataGrid.css位于WAR文件下,该文件位于我的项目文件的根目录下。所以我的问题是如何将源文件路径重定向到正确的位置。
我的css文件放在WAR文件中,该文件与src文件处于同一级别。例如,我的接口文件放在myproject / src / com / test / javafiles中。我的myDataGridStyle.css放在myproject / war / myDataGridStyle.css中。如何为此编写文件路径?
最好的祝福
最佳答案
不能将* .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();
}
和:
->源
---> com.test.java文件
------> test1.java
------> test2.java
------> myDataGrid.css