0

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ファイルは、srcファイルと同じレベルのWARファイルに入れられます。たとえば、私のインターフェース ファイルは myproject/src/com/test/javafiles に配置されます。私の myDataGridStyle.css は myproject/war/myDataGridStyle.css に配置されます。これのファイルパスを書くにはどうすればよいですか?

よろしくお願いします

4

1 に答える 1

1

*.css ファイルを war フォルダーに入れることはできません。*.css ファイルは Java パッケージに存在する必要があります (ファイルを相対的に参照できるように、インターフェイスと同じパッケージに配置することをお勧めします)。css ファイルが GWT アプリにコンパイルされます。そのため、戦争で css ファイルを使用できるようにする必要はありません。もう 1 つの理由は、css リソースが、コンパイラによって置き換えられる css コード内の特別な構造を使用できるという事実です。ただし、これらを使用することはできません。詳細については、こちらを参照してください。

したがって、次のようになります。

 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

于 2012-07-09T08:07:52.017 に答える