2012-05-28 4 views
0

У меня есть текст <s:select> на моей странице jsp.заполнить текстовое поле при выборе выпадающего struts2

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

Теперь это значение (которое я получил из своего класса действий) должно быть показано в <s:textfield> ниже этого раскрывающегося списка.

Пожалуйста, помогите!

+0

Что такое «», если это конкретный JSP, можете ли вы объяснить, что именно этот HTML-код генерирует? – Hawken

+2

@Hawken: '' - это тег struts2, созданный создателем фреймворка для повышения производительности разработчика, поскольку он обеспечивает интеграцию с фреймворком. В конце эти теги будут генерировать нормальный HTML, поэтому '' или '' в конце будет переведенный в HTML как тег 'select' и' text field' –

ответ

2

Ну, все, что вам нужно, чтобы использовать силу Ajax. У вас есть несколько вариантов для этого.

  1. Пользователь простой Javascript.
  2. Пользователь любой Javascript frameowrk как JQuery, Dojo и т.д.

Bind вы код с на щелчок/изменить даже Выбрать тег и отправить простой запрос на S2 action.you может либо использовать Stream result для передачи данных назад от действия S2 или лучше (на мой взгляд) отсылать данные JSON из вашего класса действий и пользовательской функции Jquery в функции для анализа данных JSON в JSP

S2 JSON plugin для отправки и получения данных JSON от Action и JSP до сделать жизнь более легкой.

Пожалуйста это руководство, чтобы знать, как использовать JQuery с JSON и Struts2

Update

Вам нужно сделать что-то вроде этого в коде JSP для Ajax и JQuery

var selectedState = document.getElementById("selectboxid"); 
     var statedata = selectedState.options[selectedState.selectedIndex].value; 
     var formInput='state='+statedata; 
$.getJSON('search/dropDownRenderer',formInput,function(data) { 
} 
+0

Эй, спасибо. Спасибо за ответ .. его полезно ... но не могли бы вы рассказать мне [здесь] (http://java.dzone.com/ статьи/using-struts-2-json-and-jquery) в коде javascript, как значение будет отправлено в actionclass, чтобы я мог получить данные в соответствии с этим. –

+0

@TusharAgarwal: в этом коде была отправлена ​​его форма. вы можете создать строку запроса, такую ​​как myAction.action? myData = "value". Все, что вам нужно иметь свойство с именем myData и его уважаемыми геттерами и сеттерами, S2 поместит данные в свойстве вашего класса действий –

+0

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