1

結果が freemarker ページ (.ftl) を指す Struts 2 アクションをテストしようとしています。Spring フレームワークを使用しているため、テストは StrutsSpringTestCase を拡張します。私の問題は、アクションが実行された後、結果の freemarker ページを検索しますが、ページを取得する前に、ftl ページにロケール (私の場合は en_GB) を追加することです。したがって、何も見つかりません。

例えば ​​:

アクションが実行されます - 結果ページ = login.ftl ですが、login_en_GB.ftl を検索します

アクションが実行されます - 結果ページ = index.ftl ですが、index_en_GB.ftl を検索します

なぜそれをしているのか、どのように変更するのかわかりません。

4

2 に答える 2

0

あなたがする必要があるのは、コントローラーにモックサーブレットリクエストを設定することだと思います。コードで同様のことを行いますが、投稿リクエストをモックします。

import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;

protected HttpServletRequest httpServletPostRequest = new MockHttpServletRequest("POST", "/");
httpServletPostRequest.addPreferredLocale(yourLocale);
controller.setServletRequest(httpServletPostRequest);
于 2012-06-01T14:43:23.503 に答える
0

この問題に対して私が使用した回避策は、アクションを実行した直後にプロセスを停止することでした。そうすることで、すべての機能を利用することはできませんでしたが、どうやら freemarker がサポートされていなかったので、これが私の頭に浮かんだ最善の方法でした。

于 2012-07-06T09:15:28.603 に答える