Thymeleaf display HashMap

Viewed 4228

It may be a silly qustion, but I still cannot find an answer to it.

My Spring Boot application looks something like this:

Model:

public class Company {

public static final String URL_COMPANY = "http://193.142.112.220:8337/companyList";
private Long iD;
private String companyName;
public static Map<Long, Object> companyMap;

public Long getiD() {
    return iD;
}

public void setiD(Long iD) {
    this.iD = iD;
}

public String getCompanyName() {
    return companyName;
}

public void setCompanyName(String companyName) {
    this.companyName = companyName;
}

@Override
public String toString() {
    return companyName;
}}

Controller:

@Controller

public class UrlController {

@GetMapping("/success")
public String show(Model model) {

    HashMap<Long, Object> company = (HashMap<Long, Object>) Company.companyMap;
    model.addAttribute("companyID", company);
    return "success";
}

View:

<h1>All Companies:</h1>

<table border="1">
    <tr>
        <th>ID</th>
        <th>Name</th>
    </tr>
    <tr th:each="mapEntry: ${companyID}">
        <td th:text="${mapEntry.key}"></td>
        <td th:text="${mapEntry.value}"></td>

    </tr>
</table>
<a th:href="@{/}">Homepage</a>
</body>
</html>

So my goal is to display a table filled with Company ID's and Names. Even though, my model gets a map, I still can't see it in my browser. The table is empty.

    </tr>
    <tr th:each="mapEntry: {1=Tire Systems, 2=IT Enterprise, 3=Car Manufacture, 4=Electro Market}">
        <td th:text=""></td>
        <td th:text=""></td>

    </tr>

This is what i get if i check the page source. So I clearly see, that map is loaded, but not displayed.

Moreover, a link with "homepage" does not work, and i am not sure why?

What am I missing? I am trying to fill a table with Companies, and then, using Id's of those companies, show materials attached to company via this ID. Can i use hyperlinks in table for Id's?

1 Answers
Related