2013-08-28 14 views
5

Myślę, że pytanie jest takie samo dla huge manipulations with URL (tj. Dlaczego?). Gdzie ludzie rekonstruują adres URL od zera.Kiedy użyć sprężyny: tag URL?

Czy to nie utrudnia widoczności aplikacji dla programistów UI jeśli wszyscy widzą:

<link href="${some_url_possibly_not_named_logically_i_e_karamba1243}/less/bootstrap.less"/> 

ja po prostu nie rozumiem przypadków użycia, gdzie stosowane są te tagi i dlaczego warto? W jaki sposób można poprawić ten przykładowy przykład przy użyciu tagu spring: url? Czy zostałby użyty tylko do usunięcia powtarzającej się części adresu URL?

<div id="header"> 
      <ul> 
       <li><a href="/futfarm/home/">Home</a></li> 
       <li><a href="/futfarm/person/myProfile/">My Profile</a></li> 


       <sec:authorize access="hasRole('ROLE_Coach')"> 

        <li><a href="/futfarm/coach/training/viewbank">Training</a></li> 
       </sec:authorize> 

       <sec:authorize access="hasRole('ROLE_Player')"> 

        <li><a href="/futfarm/player/training/viewbank">Training</a></li> 
       </sec:authorize> 


       <sec:authorize access="hasRole('ROLE_Manager')"> 

        <li><a href="/futfarm/manager/administration">Administration</a></li> 
       </sec:authorize> 
      </ul> 
     </div> 

A głównym problemem jest to, że jeśli sam URL zostaną wykorzystane w innym .jsp możemy po prostu chwycić zmienną, ale potem znowu ten znacznik jest specyficzny do JSP zakres więc inne strony nie mogą z niego korzystać. I Co jest nie tak z tradycyjnym podejściem? Czy są przykłady, w których nie mogę używać niczego poza wiosną: adres URL.

To właśnie jeden z tych przypadków, w których każdy używa go, nikt nie wyjaśnia (nawet google - dostarczanie Super URL przypadki przebudowy) i wszyscy byli zadowoleni z wyjątkiem mnie, uczucie splątania i głupi :-)

Odpowiedz

3

używać go kiedy trzeba mieć komponenty dynamiczne w generowanych adresach URL (np. /app/resources/{name}) i kiedy trzeba się upewnić, że te komponenty URL (np. {name} jak wyżej) są odpowiednio zabezpieczone. Zajrzyj here, aby uzyskać więcej informacji.

Pamiętaj też, że możesz mieć globalne atrybuty, z których korzystasz np. znacznik <spring:url /> na wielu stronach JSP. Spójrz na setExposedContextBeanNames(String[])here.

Powiązane problemy