sourcecode

Spring MVC: 여러 URL을 동일한 컨트롤러에 매핑

codebag 2023. 9. 5. 20:13
반응형

Spring MVC: 여러 URL을 동일한 컨트롤러에 매핑

저는 같은 페이지에서 링크된 20개 이상의 양식을 가지고 있습니다.일부 양식은 동일한 컨트롤러를 공유하는 반면 다른 양식은 고유한 컨트롤러를 사용합니다.예를 들어, 형식A,B,그리고.C사용하다DefaultController형태를 갖추는 동안D사용하다ControllerD.

제가 이루고 싶은 것은 URL을 각 양식에 일관되게 매핑하는 것입니다.

따라서 이상적으로 링크 페이지는 다음과 같습니다.

  • 이 중 어느 쪽이든

    <a href="/formA.html">Form A</a>
    <a href="/formB.html">Form B</a>
    <a href="/formC.html">Form C</a>
    <a href="/formD.html">Form D</a>
    
  • 또는 다음과 같습니다.

    <a href="/form.html?name=A">Form A</a>
    <a href="/form.html?name=B">Form B</a>
    <a href="/form.html?name=C">Form C</a>
    <a href="/form.html?name=D">Form D</a>
    

문제는 각 URL을 적절한 컨트롤러에 매핑하는 방법입니다.첫 번째 URL 패턴을 사용하여 매핑할 수 있습니다.formD.html로.ControllerD하지만 지도를 만드는 방법을 잘 모르겠습니다.form[A|B|C].html로.DefaultController두 번째 URL 패턴은 어디서부터 시작해야 할지 모르겠습니다...

이런 일을 한 사람이 있습니까?

아직 아무도 여기에 완전한 해답을 제시하지 않은 것처럼 보이기 때문에:

@RequestMapping주석은 "값" 매개 변수에 대해 배열을 사용할 수 있습니다.첫 번째 패턴을 사용하여 컨트롤러 수준에서 이를 매핑하려면 다음을 사용합니다.

@Controller
@RequestMapping(value={"/formA.html", "/formB.html", "/formC.html"})
public class ControllerA {

}

그리고 나서:

@Controller
@RequestMapping(value="/formD.html")
public class ControllerD {

}

언급URL : https://stackoverflow.com/questions/3898442/spring-mvc-mapping-multiple-urls-to-same-controller

반응형