Генерация нескольких событий на странице JSP с несколькими кнопками - PullRequest
0 голосов
/ 27 декабря 2011

Я новичок в мире JSP, как я заметил, есть один тег формы, который имеет атрибуты action и method.В теге action мы должны указать URL сервлета, который активируется после нажатия кнопки «Отправить».

Но моя проблема начинается здесь.Я пытаюсь разработать страницу регистрации.

У меня есть два сервлета:

  1. Один проверяет наличие существующего пользователя,
  2. Второй регистрирует пользователя.

ДелаетУ кого-нибудь есть идеи, как этого добиться без ссылки на ссылку или изображения?

Ответы [ 3 ]

3 голосов
/ 27 декабря 2011

Переместите код, который проверяет доступность существующего пользователя, и зарегистрируйте пользователя в своем собственном классе обслуживания, скажем, UserService.Сделайте отправку формы второму сервлету, который использует UserService для выполнения обеих операций.

Вы можете иметь две отдельные формы, но не вложенные формы в HTML.Если вы хотите, чтобы одна форма изменяла свои действия (ее целевой URL) в зависимости от того, какая отправка используется, единственный способ, которым вы можете добиться этого, - это JavaScript.

1 голос
/ 27 декабря 2011

Вы можете сделать это с вашим существующим подходом, зарегистрировав функцию Javascript

<body>    
<script type="text/javascript">
function submitType(submitType)
{
if(submitType==0)
    document.userForm.action="CheckUserAvailability.do";
else
    document.userForm.action="RegisterUser.do";
}
</script>
<form  name="userForm" method="post">
--Other elements here
<input type="submit" value="Check User Availabiliy" onClick="submitType(0)"/>
<input type="submit" value="Check User Availabiliy" onClick="submitType(1)"/>
</form>
</body>
1 голос
/ 27 декабря 2011

Да, вы можете .. В действии вы даете имя сервлету.и внутри этого сервлета вы можете вызывать java-методы, которые написаны в других классах.

Это означает, что вы можете проверить

1.one checks for the availability of existing user
2.second register the user

Используя два java-класса (может быть по вашему выбору)

Просто вызовите эти методы в одном и том же сервлете. Думаю, у вас есть идея.

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