2015-10-07 4 views
0

в моей форме У меня есть таблица, чтобы показать некоторые данные о клиенте. Пользователь может щелкнуть по строке, чтобы увидеть все данные клиента.spring mvc return modelandview после ajax call

<div class="container"> 
    <table class="table table-bordered" style="direction: rtl"> 
     <thead> 
     <tr> 
      <th style="text-align: center">customer name</th> 
      <th style="text-align: center">customer ID</th> 
     </tr> 
     </thead> 
     <tbody> 
     <c:forEach items="${customers}" var="customer" varStatus="loop"> 
      <tr onclick="retrieveCustomer('${loop.index}')"> 
       <td id="id-${loop.index}">${customer.customerId}</td> 
       <td>${customer.customerName}</td> 
      </tr> 
     </c:forEach> 
     </tbody> 
    </table> 
</div> 

<script> 
    function retrieveCustomer(id) { 
     debugger; 
     $.ajax({ 
      url: "<%=request.getContextPath()%>/show_selected_customer", 
      data: {customerId: $('#id-' + id).text()}, 
      type: "GET", 

      success: function (response) { 
      }, 
      error: function (xhr, status, error) { 
       alert(error); 
      } 
     }); 
    }; 
</script> 

и в моем контроллере:

@RequestMapping(value = "/show_selected_customer", method = RequestMethod.GET) 
public ModelAndView showSelectedCustomer(@RequestParam("customerId") String customerId) { 
    Map<String, Object> model = new HashMap<>(); 
    Customer customer = coreService.getCustomer(customerId); 
    model.put("customer", customer); 

    return new ModelAndView("showCustomerData", model); 
} 

плитки:

<definition name="showCustomerData" extends="base.definition"> 
    <put-attribute name="title" value="customer data"/> 
    <put-attribute name="content" value="/WEB-INF/jsp/show_customer_data.jsp"/> 
</definition> 

до сих пор каждая вещь работает правильно. enter image description here

моя проблема в том, что она не показывает страницу show_customers.jsp, и даже у меня нет ошибки в моем журнале. В чем моя проблема, из-за вызова ajax? Я не использовал @responsebody и хочу показать страницу customer.jsp с возвратом modelandview. спасибо

+0

Можете ли вы показать свою защиту класса 'Controller'? – Arpit

+0

@Controller public class AdminController { закрытый финал Logger logger = .. – farhad

ответ

0

Используйте аннотацию тела ответа и преобразуйте объект в JSON и верните его вместо этого.