2014-01-21 3 views
0

내가스트럿 잘못된 경로

<logic:redirect forward="welcome"/> 

지금 내 URL을 내가 가지고 메인 페이지에

http://localhost:8081/task5/ProductsAction.do?method=categories처럼 보이는 메인 페이지로 리디렉션 링크 인덱스 페이지를 형태

<form action="/ProductsAction.do"> 
    <button name="method" value="subCategories"></button> 
</form> 

하지만, URL이 http://localhost:8081/ProductsAction.do?method=subCategories으로 변경됩니다.

여기에 struts c의 내 동작 매핑이 있습니다. onfig

<global-forwards> 
     <forward name="welcome" path="/ProductsAction.do?method=categories" /> 
    </global-forwards> 
    <action-mappings> 

     <action parameter="method" path="/ProductsAction" name="ProductsForm" 
      scope="request" validate="true" 
      type="com.epam.app.presentation.action.ProductsAction"> 
      <forward name="categories" path="/pages/categories.jsp" /> 
      <forward name="subCategories" path="/pages/subCategories.jsp" /> 
      <forward name="products" path="/pages/products.jsp" /> 
     </action> 

왜 url에서 '/ task5 /'가 사라지나요?

답변

0

<form> 태그의 절대 URL을 사용하고 있기 때문입니다.

+0

hm 그러면 상대 경로는 어떻게 표시되어야합니까? 경로가 "/"로 시작하면 상대 경로라고 생각합니다. – DeadKennedy

+0

@SeeinRed 그건 뒤로입니다. 그것은 파일 시스템과 같습니다. "/"가 루트입니다. –

+0

나는 "ProductAction"을 슬래시없이 tryed했지만 폴더 경로가 "http : // localhost : 8081/task5/pages/ProductsAction.do? method = subCategories"와 같은 url에 추가되었습니다. url을 실행하여 작업하게했습니다. "/task5/ProductsAction.do?method=save"와 같은 것이 맞습니까? – DeadKennedy