Я пробую учебник по Spring MVC textbox example. Хорошо работает, однако я понятия не имею, как обращаться с именем ссылки.Настройка ссылки на HTML в JSP с использованием Spring MVC
Единственный рабочий - http://localhost:8080/SpringMVC/textbox.html
, и я не знаю, как изменить часть textbox.html
на что-нибудь еще.
По комментариям и всей информации о том, что я понял, что он назван в соответствии с контрольным классом.
TextBoxController.java -> textbox.html
Вот соответствующий код:
web.xml
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
MVC-диспетчерская-servlet.xml
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<bean class="nch.customer.controller.TextBoxController">
<property name="formView" value="CustomerForm" />
<property name="successView" value="CustomerSuccess" />
// Anything to put here?
<property name="validator">
<bean class="nch.customer.validator.CustomerValidator" />
</property>
</bean>
TextBoxController.java
public class TextBoxController extends SimpleFormController {
public TextBoxController() {
setCommandClass(Customer.class);
setCommandName("customerForm");
// Or anything to put here?
}
@Override
protected ModelAndView onSubmit (
HttpServletRequest request, HttpServletResponse response,
Object command, BindException errors) throws Exception {
Customer customer = (Customer) command;
return new ModelAndView("CustomerSuccess","customer",customer);
}
Мой вопрос. Как изменить имя ссылки без изменения имени класса? Пример:
TextBoxController.java -> txb.html
Будет отображаться URL-адрес где-либо, как в виде аннотации, так и в формате XML. Можете ли вы найти и показать нам это, пожалуйста? – Stewart
@Steward Я сделал это с помощью связанного примера, используя XML и никаких аннотаций. Изменений нет, кроме имен пакетов. –
См. Ответ Рошерли. Он сделал это с помощью 'SimpleUrlHandlerMapping'. Это то, о чем я говорю. Вы должны указать где-то сопоставление, иначе вы получите поведение по умолчанию. – Stewart