Как обработчик формы отправляет в команду city плагин разработки jsp - PullRequest
0 голосов
/ 22 февраля 2019

Im Изучаю, как писать плагины TeamCity с помощью Java JSP.

Я хочу иметь форму, которая исключает текстовую информацию и использует ее для обработки данных.

Проблема, с которой я сталкиваюсь, заключается в том, что яполучить 404, когда я нажму кнопку отправки.

Контроллер

public class ServerConfigGeneralController extends BaseFormXmlController {
      public ServerConfigGeneralController(@NotNull SBuildServer server,
                                           @NotNull WebControllerManager webControllerManager) {
        super(server);
        webControllerManager.registerController("/admin/", this);
      }

      @Override
      @Nullable
      protected ModelAndView doGet(@NotNull final HttpServletRequest request, @NotNull final HttpServletResponse response) {
          System.out.println("######In Model and View########");
        return null;
      }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response, Element xmlResponse) {
        // TODO Auto-generated method stub

        System.out.println("######In Do Post########");

    }

}

JSP

<html>
    <h1>Consul Key Value settings</h1>
   <body>

      <form action = "ServerConfigGeneralController" method = "post">
         URL: <input type = "text" name = "url">
         <br />
         Port: <input type = "text" name = "port" />
         <input type = "submit" value = "Submit" />
      </form>

   </body>
</html>

xml config

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
       default-autowire="constructor">

       <bean class="com.demoDomain.teamcity.demoPlugin.AppServer"></bean>
       <bean id="MyListener" class="com.demoDomain.teamcity.demoPlugin.MyListener"></bean>
       <bean id="TestAdminPage" class="com.demoDomain.teamcity.demoPlugin.TestAdminPage"></bean>
       <bean id ="ServerConfigGeneralController" class="com.demoDomain.teamcity.demoPlugin.ServerConfigGeneralController"></bean>
</beans>

Я надеялсяБудет вызван Post, и Sys out будет напечатан на консоли сервера команды города.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 24 февраля 2019

удалось решить.

Мне нужно получить действие формы, соответствующее URL-адресу, зарегистрированному контроллером.

<form action = "/admin/consul.html" method = "post">

В контроллере

manager.registerController("/admin/consul.html", this);

Спасибо Любой способ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...