我正在使用 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 文件与我的界面类不在同一文件中。 基本上文件分布如下:
我的Web项目
->源代码
---> com.test.javafiles
------> test1.java
------> test2.java
->war(与src文件同级)
---> WEB-INF
---> myDataGrid.css(这是我的css文件所在的位置。它就在war文件下。所有的css样式都在这个文件中。)
myDataGrid.css 位于 WAR 文件下,该文件位于我的项目文件的根目录下。所以我的问题是如何将源文件路径重定向到正确的位置。
我的css文件放在WAR文件中,该文件与src文件处于同一级别。比如我的接口(interface)文件放在myproject/src/com/test/javafiles中。我的 myDataGridStyle.css 放在 myproject/war/myDataGridStyle.css 中。我该如何为此编写文件路径?
最诚挚的问候
最佳答案
不可能将 *.css 文件放在 war 文件夹中。 *.css 文件必须驻留在 java 包中(我更喜欢将其放在与界面相同的包中,这样可以相对引用该文件)。 css 文件将被编译到您的 GWT 应用程序中。这就是为什么没有必要让你的 css 文件在 war 中可用。另一个原因是 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.javafiles
------> test1.java
------> test2.java
------> myDataGrid.css
关于Java GWT在应用自定义celltable/datagrid css样式时如何编写文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11387648/