2016-12-31 15 views
0

Я использую Spring и Apache Tiles (чтобы управлять своими взглядами). У меня есть класс контроллера:Вложенные @RequestMapping - как это работает в режиме просмотра Apache Tiles?

@Controller 
@RequestMapping("/insurancecompany") 
public class InsuranceCompanyController { 

    @Autowired 
    private InsuranceCompanyService insuranceCompanyService; 

    @RequestMapping("/create") 
    public ModelAndView createInsuranceCompany() { 
     ModelAndView mv = new ModelAndView(); 
     mv.addObject("insuranceCompany", new InsuranceCompany()); 
     return mv; 
    } 

Что нужно написать в файл xml Apache Tiles, чтобы заставить его работать? Мой XML-файл

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE tiles-definitions PUBLIC 
     "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" 
     "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> 

<tiles-definitions> 

    <definition name="main.template" template="/WEB-INF/templates/maintemplate.jsp"> 
     <put-attribute name="title" value="Welcome on my web app" /> 
     <put-attribute name="menu" value="/WEB-INF/tiles/menu.jsp" /> 
     <put-attribute name="body" value="" /> 
    </definition> 
    ... 
    <definition name="WHAT SHOULD BE HERE??" extends="main.template"> 
     <put-attribute name="title" value="Insurance Company" /> 
     <put-attribute name="body" value="/WEB-INF/tiles/createinsurancecompany.jsp" /> 
    </definition> 

</tiles-definitions> 

ответ

0

Я изменил класс контроллера. Я заменить тип возвращаемого моего метода createInsuranceCompany и теперь она возвращает String (уникальное имя, которое используется в Apache плитками XML файл)

@Controller 
@RequestMapping("/insurancecompany") 
public class InsuranceCompanyController { 

    @Autowired 
    private InsuranceCompanyService insuranceCompanyService; 

    @RequestMapping("/create") 
    public String createInsuranceCompany(Model model) { 
     model.addAttribute("insuranceCompany", new InsuranceCompany()); 
     return "insurancecompany-create"; 
    } 
} 

И мой файл Apache XML выглядит следующим образом

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE tiles-definitions PUBLIC 
     "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" 
     "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> 

<tiles-definitions> 

    <definition name="main.template" template="/WEB-INF/templates/maintemplate.jsp"> 
     <put-attribute name="title" value="Welcome on my web app" /> 
     <put-attribute name="menu" value="/WEB-INF/tiles/menu.jsp" /> 
     <put-attribute name="body" value="" /> 
    </definition> 

    ... 

    <definition name="insurancecompany-create" extends="main.template"> 
     <put-attribute name="title" value="Insurance Company" /> 
     <put-attribute name="body" value="/WEB-INF/tiles/createinsurancecompany.jsp" /> 
    </definition> 

</tiles-definitions> 
0

Имя вид возвращаемого ModelAndView является insuranceCompany

mv.addObject("insuranceCompany" ... 

так название плитки является insuranceCompany тоже. (без косой черты и в верхнем регистре «C»)

 Смежные вопросы

  • Нет связанных вопросов^_^