2017-03-30 18 views
1

私はSpringブートv1.5.2.RELEASEとThymeleafを使用しています。スプリングブートThymeleaf th:ダイナミックテンプレートを含む

私は<div th:include="praxis/header"></div>を使用します。 それは正常に動作しますが、今私は、このようなコントローラにパスを含めたい特別な要件があります含めるだけで「リソース」フォルダからテンプレートを含めることができます目があるため

<div th:include="praxis/header"></div> 

@Controller 
@RequestMapping(path = "/praxis") 
public class UserController extends BaseController { 
@GetMapping(value = "/header") 
    public ModelAndView praxisHeader(HttpServletRequest request) { 
     //do sth 
     return new ModelAndView("some other templates", "user", user); 
    } 
} 

をそれは動作しません。 。

コントローラからテンプレートを含めるにはどうすればよいですか?

答えて

1

th:includeには、他のテンプレートのフラグメントのみを含めることができますが、コントローラからのデータは含まれません。

コントローラからテンプレートにデータを送信する場合は、マップを作成し、送信するコンテンツをこのマップのキーの値として設定し、modelとしてこのAPIを使用して送信してください:

public ModelAndView(String viewName, Map<String,?> model) 

今、あなたはそれをテンプレートに入れておき、それをあなたが好きな方法で使うことができます。

+0

申し訳ありませんが、私はあなたの助けを借りてこの問題を解決しました。私はコントローラ 'code'(@Controller @RequestMapping(path ="/praxis "))を作成し、モデル' code'(ModelAndView modelAndView = new ModelAndView( "praxis/space"、 "user"、user);)を返します。このページで 'code'(

)を使うと動作します。 – Martin

関連する問題