問題の簡単な説明は次のとおりです。
http://mydomain/ **のようなすべてを処理したいので、コントローラー RedirectController があります。
ただし、まだhttp://mydomain/をインデックス コントローラー (または index.jspx など) にリダイレクトする必要があり、将来的には /help /about URL を除外する必要があります。
現在の方法は、Spring Roo が生成した urlrewrite.xml を変更していないことです。ここにあります。コード:
<urlrewrite default-match-type="wildcard">
<rule>
<from>/resources/**</from>
<to last="true">/resources/$1</to>
</rule>
<rule>
<from>/static/WEB-INF/**</from>
<set type="status">403</set>
<to last="true">/static/WEB-INF/$1</to>
</rule>
<rule>
<from>/static/**</from>
<to last="true">/$1</to>
</rule>
<rule>
<from>/</from>
<to last="true">/app/index</to>
</rule>
<rule>
<from>/app/**</from>
<to last="true">/app/$1</to>
</rule>
<rule>
<from>/**</from>
<to>/app/$1</to>
</rule>
<outbound-rule>
<from>/app/**</from>
<to>/$1</to>
</outbound-rule>
</urlrewrite>
次に、RedirectController でマッピング アノテーションを使用しました。
@RequestMapping("/**")
@Controller
public class RedirectController {
....
@RequestMapping(method = RequestMethod.GET, value = "/{value}")
public String get(@PathVariable String value, ModelMap modelMap, HttpServletRequest request, HttpServletResponse response) {
...
そのため、http://mydomain/xxxが要求された場合、この get ( ) メソッドは xxx 値を使用します。ただし、このようなスキームを使用すると、http://mydomain/リクエストでインデックスが {value} (xxx など) として渡されます。(これは私が望んでいないことです。)
上記の xml ファイルのマッピング ルールに従って、すべての /** リクエストが web.xml ファイルの DispatcherServlet にリダイレクトされるため、アノテーション ベースのマッピング ハンドラは RedirectController のアノテーションを見て、除外するすべての URL を単純に含めます...
この問題を解決するためのアイデアはありますか?