2016-04-12 394 views
2

私はオブジェクトのリストを持っています。すべてのオブジェクトは特定の接頭辞を持つ名前を持ちます。今私は空の文字列でこの接頭辞を置き換えたいと思います。各文字列のThymeleafは部分文字列を置き換えます

マイコード:

コントローラー:

@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> 

、私が欲しいです会社Nを削除するame接頭辞。だからTEST_filename.txt - > filename.txt

誰かが私を助けることができますか?

+0

あなたが提供したコードを実行するとどうなりますか?特定の問題は何ですか? –

+0

式として解析できませんでした: "$ {#strings.replace(reportName、companyName、 '')}:$ {report.name}、$ {companyName}" – DK1990

+0

確かにその式が正しく表示されません - コロンは何ですか?置き換えが空の場合、companyNameのデフォルト値を実行しようとしていますか? –

答えて

1

使用substringAfter:もちろん

<small th:each="report : ${user.reports}" th:utext="${#strings.substringAfter(report.name,'_'}></small>

、あなたがあなたの会社名もこれを行う前に、アンダースコア区切り文字が含まれていないことを確認したいと思います。

0

これを行う代わりに、 を使用して文字列を "_"に基づいて分割し、インデックスに言及して2番目の単語を取ります。

関連する問題