我有一个对象列表。每个对象都有一个具有特定前缀的名称。现在我想用空字符串替换这个前缀。
我的代码:
控制器:
@Secured("ROLE_ADMIN")
@RequestMapping(value = "/admin/userManagement", method = RequestMethod.GET)
public String showUserManagement(Model model) {
model.addAttribute("userList", userDelegate.getAllUserForClient(getCompanyAuthority().getName()));
model.addAttribute("companyName", getCompanyAuthority().getName());
return "admin/user_management";
}
我的html代码段:
<table class="table table-striped table-hover">
<thead>
<tr>
<th>ID</th>
<th>E-mail</th>
<th th:text="#{adminArea.userManagementReport}">Reports</th>
<th th:text="#{adminArea.userManagementRole}"></th>
<th>Edit</th>
</tr>
</thead>
<tbody>
<tr th:each="user,itrStat : ${userList}">
<td th:text="${itrStat.index}"></td>
<td th:text="${user.username}"></td>
<td>
<small th:each="report : ${user.reports}"
th:utext="${#strings.replace(report.name,companyName + '_','')} : ${companyName}"></small>
<br th:each="report : ${user.reports}"></br></td>
</tr>
</tbody>
</table>
重要的部分是:
<small th:each="report : ${user.rep orts}"
th:utext="${#strings.replace(report.name,companyName + '_','')} : ${companyName}"></small>
对于每个报告名称,我想删除companyName前缀。所以TEST_filename.txt - &gt; FILENAME.TXT
有人可以帮助我吗?
答案 0 :(得分:2)
使用substringAfter
:
<small th:each="report : ${user.reports}"
th:utext="${#strings.substringAfter(report.name,'_'}></small>
当然,在执行此操作之前,您需要确保您的公司名称也不包含下划线分隔符。
答案 1 :(得分:0)
不要那样做,试试这个, 根据&#34; _&#34;分割字符串并通过提及指数来接受第二个词。