2010-07-22 6 views
0
다음

문제의 간단한 설명입니다 루트에 설정 http://mydomain/을 색인 컨트롤러 (또는 index.jspx)로 리디렉션해야하며, 대부분은 나중에 URL을/help /에서 제외해야합니다.봄 제외 페이지

현재 방법은 변경되지 않았습니다. 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> 

는 그럼 난 내 RedirectControlller에 매핑 주석을 사용했다.

@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가 요청 될 때,이 얻을 그래서() 메소드는 XXX의 값을 사용합니다. 그러나 이러한 스키마를 사용하면 http://mydomain/ 요청시 색인은 {value} (예 : xxx)로 전달됩니다. (원하지 않는 것입니다.)

위의 xml 파일의 매핑 규칙에 따르면/** 요청은 web.xml 파일의 DispatcherServlet으로 리디렉션되므로 주석 기반 매핑 핸들러는 RedirectController를 사용하면 제외 할 모든 URL이 포함됩니다 ...

이 문제를 해결하기위한 아이디어가 있습니까? 내가 수동으로 정규 표현식을 사용하여 URI를 제외 경우 urlrewrite.xml에서

답변

1

당신이

 
<rule> 
    <from>^/location/([A-Z]+)/name/([A-Z]+)</from> 
    <to>/login?name=$2&location=$1</to> 
</rule> 
+0

같은이있을 것이다, 나는 그것을 들으를 해결할 수 있습니다. –