2016-06-12 10 views
0

So habe ich die folgenden Ansichten:Gibt es eine Möglichkeit, Parameter an Thymeleaf zu übergeben?

<body> 
<[email protected] id="repidTable" type="biz.tugay.RepidTypeTable"--> 
<div th:include="repidTable"></div> 
</body> 

und repidTable.html ist wie folgt:

<[email protected] id="repidTypeColumns" type="java.util.List<biz.tugay.RepidTypeTableColumn>"--> 
<[email protected] id="repidTypeRows" type="java.util.List<biz.tugay.RepidTypeTableRow>"--> 
<table> 
    <thead> 
    <tr> 
     <th th:each="repidTypeColumn : ${repidTypeColumns}" th:text="${repidTypeColumn.columnHeaderText}"> 
     </th> 
    </tr> 
    </thead> 
    <tr th:each="repidTypeRow : ${repidTypeRows}"> 
     <td th:each="repidTypeCell : ${repidTypeRow.repidTypeTableCells}" th:text="${repidTypeCell.data}"> 
     </td> 
    </tr> 
</table> 

die .. aber gut funktioniert, ich will repidTable zu Lage Pass Parameter sein.

Was ich brauche, ist, statt repidTable.html so etwas wie genericTable.html die zwei Parameter akzeptiert, und ich möchte repidTypeColumns und repidTypeRows während genericTable.html einschließlich passieren

Antwort

0

Eigentlich Das war ziemlich einfach. Ich habe die folgende Datei messageFile.html

<!DOCTYPE html> 
<html lang="en" 
     xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:th="http://www.thymeleaf.org"> 
<head> 
    <title>Repid Type POC</title> 
</head> 
<body> 
<[email protected] id="messageObject" type="biz.tugay.Message"--> 
<div th:fragment="messageDiv(messageObject)"> 
    <span th:text="${messageObject.getMessageBody()}"></span> 
</div> 
</body> 
</html> 

und hier ist meine index.html

<!DOCTYPE html> 
<html lang="en" 
     xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:th="http://www.thymeleaf.org"> 
<head> 
    <title>Repid Type POC</title> 
</head> 
<body> 
<[email protected] id="successMessage" type="biz.tugay.Message"--> 
<[email protected] id="errorMessage" type="biz.tugay.Message"--> 
<div th:include="messageFile :: messageDiv(${successMessage})"></div> 
<div th:include="messageFile :: messageDiv(${errorMessage})"></div> 
</body> 
</html> 

und mein Controller ist wie folgt:

@Controller 
@RequestMapping(value = "/") 
public class HomeController { 
    @RequestMapping(method = RequestMethod.GET) 
    public String foo(Model model) { 
     model.addAttribute("successMessage", new SuccessMessage()); 
     model.addAttribute("errorMessage", new ErrorMessage()); 
     return "index"; 
    } 
} 
Verwandte Themen