2014-11-24 2 views
0

Я пытаюсь создать свой первый веб-проект с использованием Spring MVC.
У меня проблема, когда я пытаюсь показать переменные, которые были помещены в мою модель.
Но на моей странице см. Мой параметр теста, но мой стол пуст.
Пожалуйста, скажите мне, что я пропустил.Параметр добавлен в модель, но не указан на странице

Im с помощью контроллера плитки, так вот моя плитка home.jsp, где я хочу показать мой список:

<div id="indexLeftColumn"> 
<div id="welcomeText"> 
    <p>[ cool picture ]</p> 
</div> 
</div> 

<div id="indexRightColumn"> 
<div id="deviceList"> 
    Table with list of devices</br> 
    ${blah} 
    <table class="table" border="1"> 
      <thead> 
       <tr> 
        <th>Device ID</th> 
       </tr> 
      </thead> 
      <tbody> 
       <c:forEach items="${hubsIDList}" var="hub" > 
        <tr> 

         <td>${hub}</td> 

        </tr> 
       </c:forEach> 
      </tbody> 
</table> 
</div> 


</div> 

Вот часть моего контроллера, который добавляет значения и возвращает мой home.jsp I добавлен новый параметр «л» просто, чтобы проверить, что параметры не исчезают в другом месте

@RequestMapping(value = "/home", method = RequestMethod.GET) 
public String home(Model model) { 
    log.info("Loading homepage"); 
    UserDetailsImpl userDetails = (UserDetailsImpl) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 
    ArrayList<String> hubsID =(ArrayList<String>) userDetails.getParameter("hubsID"); //checked - it's not empty and truly Array list of Strings 
    model.addAttribute("hubsIDList",hubsID); 
    model.addAttribute("blah","Test if parameters still here"); //added for test that my parameters aren't dissapear 
    return "home"; 
} 

А вот мой включают

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %> 
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="spring_form" %> 
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %> 

UPD
Пытались использовать контроллер Metod, как показано ниже, но до сих пор нет результата - тестовый параметр не отображается на странице, но таблица пуста

@RequestMapping(value = "/home", method = RequestMethod.GET) 
public ModelAndView home(Model model) { 
    HashMap<String,Object> modelParams = (HashMap)model.asMap(); 
    log.info("Loading homepage"); 
    UserDetailsImpl userDetails = (UserDetailsImpl) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 
    ArrayList<String> hubsID =(ArrayList<String>) userDetails.getParameter("hubsID"); 
    modelParams.put("hubsIDList",hubsID); 
    modelParams.put("blah","Test if parameters still here"); 

    return new ModelAndView("home",modelParams); 
} 
+0

Что вы имеете в виду, если «параметры не исчезнут в другом месте», вы говорите, что параметр не отображается на странице? – Koitoer

+0

Да, это не отображается – Asprelis

ответ

0

Проблема где-то в моем контроллере плитки. Каким-то образом теги taglib не были подключены к моей домашней плите home.jsp, поэтому мои c: теги были непригодными.
Если я использую taglib прямо в моем jsp - все работает.

Надеюсь, что это поможет кому-то с той же проблемой.

Thanx @Koitoer за помощь в моих попытках.

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