Как получить доступ к сервлету при использовании JQuery - PullRequest
0 голосов
/ 04 марта 2011

Я использую JQTouch поверх JQuery на страницах jsp.Я использую форму для отправки данных сервлету.(См. Пример ниже) Я хочу отправить параметры на сервер.

Но на стороне сервера у меня есть точка останова, которая никогда не достигается.

    function submitForm(val) { if(!formSubmitted) {
        formSubmitted = true;
       if(document.layers) {
          document.forms[0].action.value = val;
          document.forms[0].submit();
       }
       else {
          document.forms[0].action.value = val;
          document.forms[0].submit();
       }
    }
  }  <div>
        <div class="toolbar">
            <h1>Shows</h1>
            <a class="back" href="#home">Back</a>
        </div>
        <form id="myform" action="/servlet/LDPhoneShowServlet" method="POST">
            <input type="hidden" name="action" value=""> 
            <ul class="rounded">
            <li class="arrow">
    <a class="submit" onclick="submitForm('selectboothshow_<%=show.getETSHID()%>');return false;" href="#" ><%=show.getShowName()%></a>
              </li>
            </ul>
        </form>

На других страницах я использовал ниже... который работает.

<form  id="myform" action="/servlet/LoginServlet" method="POST" class="form" >
    <div class="toolbar"><h1>Login</h1></div>
         <input type="hidden" name="action" value="">
          <input type="hidden" name="obtain" value="">
          <input type="hidden" name="UserName" value="">
          <ul class="rounded">
                 <li><input type="text" placeholder="Username" name="login" ></li>
                 <li><input  type="password" name="password" placeholder="Password"></li>
          </ul>
          <a style="margin:0 10px;color:rgba(0,0,0,.9)" href="#" class="submit whiteButton">Submit</a>
  </form>

Где моя ошибка?Я неправильно использую фреймворк JQuery?Разве вы не можете использовать

для доступа к сервлету?Я не верю, что могу использовать функцию submit (), поскольку мне нужно передать аргументы.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 07 марта 2011

Проверьте URL действия.Это действительно указывает на ваш сервлет?Кажется, вам не хватает названия веб-приложения.

0 голосов
/ 07 марта 2011

Ваш файл web.xml должен выглядеть следующим образом:

<web-app>
    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>my.servlet.Class</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/LoginServlet</url-pattern>
    </servlet-mapping>
</web-app>

Ваш тег формы, в данном случае, должен быть

<form  id="myform" action="<%=request.getContextPath()%>/LoginServlet" method="POST" class="form" >
    <div class="toolbar"><h1>Login</h1></div>
         <input type="hidden" name="action" value="">
          <input type="hidden" name="obtain" value="">
          <input type="hidden" name="UserName" value="">
          <ul class="rounded">
                 <li><input type="text" placeholder="Username" name="login" ></li>
                 <li><input  type="password" name="password" placeholder="Password"></li>
          </ul>
          <a style="margin:0 10px;color:rgba(0,0,0,.9)" href="#" class="submit whiteButton">Submit</a>
  </form>
0 голосов
/ 07 марта 2011

Я не вижу тегов <script> - возможно, это ваша проблема.

...