Мне нужна помощь из-за ошибки, которую я не могу устранить в одиночку. Я строю проект, который использует Spring MVC и jTable (jTable.org). Я получаю сообщение об ошибке. Не удалось загрузить ресурс: сервер отвечал с состоянием 404 (не найдено) каждый раз, когда пользователь пытается получить доступ к странице. ( 1.png ). В журналах я пытаюсь получить request.getParameter («действие»), и он возвращает ноль.
Это мой JSP:
<%@ include file="/WEB-INF/jsp/header.jsp"%>
<div class="container-fluid col-md-8 col-md-offset-2 content">
<h2>Component Management</h2>
<div id="ComponentManagementContainer"></div>
</div>
<%@ include file="/WEB-INF/jsp/footer.jsp"%>
Это моя реализация jTable, созданная по образцу после демонстрации в jTable Demo :
$(document).ready(function () {
$('#ComponentManagementContainer').jtable({
title: '<center> DETAILS DASHBOARD </center>',
actions: {
listAction: 'componentMgmt?action=list'
},
fields: {
componentId: {
title: 'Component ID',
list: true,
key: true,
edit: true,
input: function (data) {
return '<input type="text" readonly class="jtable-input-readonly" name="name" value="' + data.value + '"/>';
}
},
componentDescription: {
title: 'Component Description',
list: true,
edit: true,
width: '15%',
input: function (data) {
return '<input type="text" readonly class="jtable-input-readonly" name="name" value="' + data.value + '"/>';
}
}
}
});
$('#ComponentManagementContainer').jtable('load');
});
А вот мой класс контроллера:
public class ComponentManagementController implements Controller {
@RequestMapping(value = "/componentMgmt")
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
String action = (String) request.getParameter("action");
List < Components > components = new ArrayList < Components > ();
ComponentServiceImpl componentServiceImpl = new ComponentServiceImpl();
System.out.println("====================================inside test request.getParameter(action)" + " " + request.getParameter("action")); // PRINTS NULL
if (action != null) {
if (action.equals("list")) {
try {
//Fetch Data from db
components = componentServiceImpl.getAllComponentValues();
//Convert Java Object to Json
Gson gson = new Gson();
JsonElement element = gson.toJsonTree(components, new TypeToken < List < Components >> () {}.getType());
JsonArray jsonArray = element.getAsJsonArray();
String listData = jsonArray.toString();
//Return Json in the format required by jTable plugin
listData = "{\"Result\":\"OK\",\"Records\":" + listData + "}";
response.setContentType("application/json");
response.getWriter().print(listData);
System.out.println(listData);
} catch (Exception ex) {
String error = "{\"Result\":\"ERROR\",\"Message\":" + ex.getStackTrace() + "}";
response.getWriter().print(error);
}
}
}
return new ModelAndView("componentMgmt");
}
}
servlet.xml
<?xml version="1.0" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<value>messages</value>
</property>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="requestContextAttribute" value="requestContext" />
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/ComponentManagement.bi">ComponentManagementController</prop>
</props>
</property>
</bean>
<bean id="ComponentManagementController"
class="com.webapp.controller.ComponentManagementController" />
</beans>
Как получить значение action = list, отправленное из jTable? Я думаю, что это причина ошибки 404. Пожалуйста, помогите.
Заранее спасибо!