2013-08-28 20 views
5

我認爲huge manipulations with URL(即爲什麼?)的問題是相同的。人們從頭開始重建URL。何時使用spring:url標記?

這豈不妨礙應用程序的可見性,如果他們所看到的UI開發人員:

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

我只是不明白的使用情況下,這些標籤的使用和爲什麼要這樣呢? 如何通過使用spring:url標記來改進此示例代碼段?它會被用來刪除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> 

還是主要關注的問題是,如果同一個URL會在另一個.JSP使用我們只要抓住一個變量,但話又說回來,這標籤是專用的,所以其他頁面不能用它來在jsp範圍。 I 傳統方法有什麼問題?有沒有例子,我不能使用除spring之外的任何東西:url。

正是的,每個人都使用它的情形之一的,沒有一個解釋(即使谷歌 - 提供超鏈接重建的情況下),大家除了我開心,感到困惑和啞:-)

回答

3

使用它時,你需要在生成的URL中包含動態組件(例如/app/resources/{name}),並且需要確保這些URL組件(例如上面的{name})已正確轉義。查看here瞭解更多信息。

另請注意,您可以使用全局屬性,例如,跨多個JSP的<spring:url />標記。看看setExposedContextBeanNames(String[])here