簡體   English   中英

Thymeleaf&Spring MVC電流控制器和動作

[英]Thymeleaf & Spring MVC Current Controller & Action

我在我的一個百萬美元模板中有一些導航。

<li class="active"><a th:href="@{/}">Home</a></li>
<li class=""><a th:href="@{/about}">About</a></li>
<li class=""><a th:href="@{/contact}">Contact</a></li>

我想要做的是設置我們當前導航項的活動類。 來自grails世界,我們可以輕松地做到這一點,因為在GSP中我們有兩個非常重要的變量。

${controllerName}
${actionName}

現在我知道我可以在我的Spring MVC控制器中手動設置這些變量並將它們傳遞給視圖,但這似乎不是一個好的解決方案。

@Controller
@RequestMapping("/about")
public class AboutController {

    @RequestMapping("/")
    public String home(Model model) {
        model.addAttribute("controllerName", "about");
        model.addAttribute("actionName", "home");        
        return "about/home";        
    }

}

還有其他辦法嗎?

我使用頁面模板本身設置的變量寫出了不同的解決方案。

請參閱此處: 是否可以將參數傳遞給百里香布局 - 方言中的布局?

我的home.html文件將等同於你的about/home模板。 我設置了一個變量( currentPage ),使其可用於所有其他包含。

它仍然是一種手動方法,如我的fragments/header.html文件中所示,但至少所有邏輯都保留在模板端。

你可以爭論這個,因為控制器決定每個頁面使用哪個模板。 但這是一個簡單的解決方案,您無需繼續將此數據添加到模型中,只是為了跟蹤要突出顯示的導航元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM