2017-02-07 2 views
0

Index Controller:Fügen Vorlage für Springboot/Thymeleaf Anwendung

@Controller 
public class IndexController { 

    private static final Logger log = LoggerFactory.getLogger(TmtApplication.class); 

    @Autowired 
    UsersRepository usersRepository; 

    @RequestMapping("/index") 
    String index(){ 
     return "index"; 
    } 
} 

MVC Config:

@Configuration 
public class MvcConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addViewControllers(ViewControllerRegistry registry) { 
     registry.addViewController("/home").setViewName("home"); 
     registry.addViewController("/").setViewName("home"); 
     registry.addViewController("/index").setViewName("index"); 
     registry.addViewController("/login").setViewName("login"); 
     registry.addViewController("/request").setViewName("index"); 
     registry.addViewController("/requests").setViewName("index"); 
     registry.addViewController("/team").setViewName("index"); 
    } 

} 

In PHP, haben wir eine einfache Funktion in dem Teil der Vorlage enthalten wir Wenn Sie auf einen neuen Link klicken, können Sie einen Austausch durchführen:

<a href="index.php?action=notifications">notifications</a> 

    if (!empty($_GET['action'])) { 
    $action = $_GET['action']; 
    $action = basename($action); 
    if (file_exists("templates/$action.htm") 
     $action = "index"; 
    include("templates/$action.htm"); 
} else { 
    include("templates/index.htm"); 
} 

Auf meiner index.html:

<body> 

<div class="container" style="width: 100% !important;"> 

    <div th:replace="fragments/header :: header"></div> 

    // Include dynamic content here depending on which menu item was clicked 
    <div th:replace="@{'fragments/' + ${template}} :: ${template}"></div> 

    <div th:replace="fragments/footer :: footer"></div> 

</div> 

</body> 

Was ist das Äquivalent für Springboot/Thymeleaf?

Antwort

1

Werfen Sie einen Blick auf http://www.thymeleaf.org/doc/articles/layouts.html

Sie haben die Objekte setzen Sie in Ausdrücken in die (Frühling) Modell mit dem Controller verwenden können. Meine Vermutung ist, dass es funktionieren sollte, WENN tun Sie somthing wie

@RequestMapping("/index") 
String index(ModelMap model){ 
    model.addAttribute("template", "my-template") 
    return "index"; 
} 

sollte es funktionieren

+0

Was bedeutet das ‚‘ my-Vorlage“Parameter Sie tun zur Verfügung gestellt? – santafebound

+0

Dieser Wert sollte in

eingefügt werden –

+0

Ich sehe, was Sie meinen, aber dieser Wert sollte immer unterschiedlich sein, abhängig davon, auf welche URL der Benutzer geklickt hat.Eine meiner Links sieht beispielsweise so aus: '' Make a Request ''. Es sollte index.html laden und den Inhalt div durch ersetzen request.html Fragment – santafebound

Verwandte Themen