Я использую Spring 3.1.1
и tomcat 5.5.31
редирект в Spring MVC происходит бесконечный цикл
Метод Invoke в файле cardproducer.jsp:
window.location.href = "${pageContext.request.contextPath}/deleteCardProducer/"
+ id + ".html";
Контроллер:
@RequestMapping("/deleteCardProducer/{id}")
public String delete(@PathVariable("id") String id, Model model,RedirectAttributes att,HttpServletRequest request)
throws Exception {
if(service.deleteCardProducer(id)){
return getCardProducerList(model,request);
}else{
request.setAttribute("errorMessage", resource.getMessage(
"error.relevantCardProducer", new Object[] {},
LocaleContextHolder.getLocale()));
return "redirect:cardProducer.html";
}
}
После удаления он должен перечислить все картографы:
@RequestMapping("/cardProducer")
public String getCardProducerList(Model model,HttpServletRequest request) {
model.addAttribute("cardProducerList", service.getAllProducer());
try {
if (request.getParameter("errorMessage")==null) {
return "cardproducer/cardProducer";
}
String errorMessage=new String(request.getParameter("errorMessage").getBytes("ISO-8859-1"), "GBK");
model.addAttribute("errorMessage",errorMessage);
log.info("request.getParameter(errorMessage):"+errorMessage);
} catch (UnsupportedEncodingException e) {
log.error("errors"+e.getMessage());
}
return "cardproducer/cardProducer";
Информационный журнал показать запрос URL является CardPro следующим образом:
2014-12-19 16:21:09,997 DEBUG
web.persistence.HBOPSWebDaoImpl.deleteCardProducer(HBOPSWebDaoImpl.java:138) http-8080-2 - queryCardProducer relevant sql String is ~select count(1) from ops_writecardlog t where t.supplier='cardProducer'
2014-12-19 16:21:10,012 DEBUG web.persistence.HBOPSWebDaoImpl.deleteCardProducer(HBOPSWebDaoImpl.java:136) http-8080-2 - deleteCardProducer sql String is ~delete ops_cardproducer where id='cardProducer'
2014-12-19 16:21:10,013 DEBUG web.persistence.HBOPSWebDaoImpl.deleteCardProducer(HBOPSWebDaoImpl.java:138) http-8080-2 - queryCardProducer relevant sql String is ~select count(1) from ops_writecardlog t where t.supplier='cardProducer'
2014-12-19 16:21:10,027 DEBUG web.persistence.HBOPSWebDaoImpl.deleteCardProducer(HBOPSWebDaoImpl.java:136) http-8080-2 - deleteCardProducer sql String is ~delete ops_cardproducer where id='cardProducer'
2014-12-19 16:21:10,029 DEBUG web.persistence.HBOPSWebDaoImpl.deleteCardProducer(HBOPSWebDaoImpl.java:138) http-8080-2 - queryCardProducer relevant sql String is ~select count(1) from ops_writecardlog t where t.supplier='cardProducer'
2014-12-19 16:21:10,043 DEBUG web.persistence.HBOPSWebDaoImpl.deleteCardProducer(HBOPSWebDaoImpl.java:136) http-8080-2 - deleteCardProducer sql String is ~delete ops_cardproducer where id='cardProducer'
2014-12-19 16:21:10,044 DEBUG web.persistence.HBOPSWebDaoImpl.deleteCardProducer(HBOPSWebDaoImpl.java:138) http-8080-2 - queryCardProducer relevant sql String is ~select count(1) from ops_writecardlog t where t.supplier='cardProducer'
2014-12-19 16:21:10,057 DEBUG web.persistence.HBOPSWebDaoImpl.deleteCardProducer(HBOPSWebDaoImpl.java:136) http-8080-2 - deleteCardProducer sql String is ~delete ops_cardproducer where id='cardProducer'
2014-12-19 16:21:10,059 DEBUG web.persistence.HBOPSWebDaoImpl.deleteCardProducer(HBOPSWebDaoImpl.java:138) http-8080-2 - queryCardProducer relevant sql String is ~select count(1) from ops_writecardlog t where t.supplier='cardProducer'
Правильные вещи, это удалить cardProducer затем показать их все. Это вызывает бесконечный цикл.
Не могли бы вы отправить service.deleteCardProducer (id)) код? – Rohan
@RRR Сервисный код: '@Override \t общественного логический deleteCardProducer (String ID) { \t \t возвращение dao.deleteCardProducer (ID); \t} ' – jptiancai
@mikeTheLiar и код дао:' @Override \t общественного логический deleteCardProducer (String ID) { \t \t Строка SQL = "удалить ops_cardproducer где ID = ' "+ идентификатор +"'"; \t \t \t log.debug ("deleteCardProducer sql String is ~" + sql); \t \t String sql2 = "select count (1) from ops_writecardlog t где t.supplier = '" + id + "'"; \t \t log.debug ("queryCardProducer соответствует sql String ~ ~ + sql2); \t \t if (jdbcTemplate.queryForInt (sql2)! = 0) { \t \t \t return false; \t \t} else { \t \t \t return jdbcTemplate.обновление (SQL)> 0; \t \t} \t \t \t} ' – jptiancai