2014-10-19 3 views
1

Я пытаюсь передать значение текстового поля в качестве параметра URL из JSP в класс действия при нажатии кнопки (кнопка без отправки) и нашел решение по этой ссылке: Onchange event in Struts2.Передача параметра из JSP в класс действия в Struts 2

Я выполнил все действия, описанные в этой связи, а именно:

  • создающего яваскрипт функцию onClick события
  • внутри функции т.е. setDealers, передавая значение, т.е. "reportGroup" к классу действия, как показано ниже
function setDealers(){ 
    var rep_value=document.getElementById("reportGroup").value; 
    alert("Value is"+rep_value); 
    window.location=="getDealersByGrouppopUpAction?reportGroup="+rep_value; 
    alert("Just a check") 
} 
  • создал переменная с именем "reportGroup" в классе действий, то есть PopUpAction.java с геттерами и сеттерами для него.

Кроме того, чтобы поддержать все это, я следующая конфигурация в struts.xml:

<action name="*popUpAction" class="popUpAction" method="{1}" > 
    <!--this will call a desired method present inside action class --> 
    ... 
    ... 
</action> 

При нажатии кнопки, getDealersByGroup метод PopUpAction класса должен быть вызван и использовать переданное значение т.е. "reportGroup" в SQL-запрос. Но в соответствии с приведенной выше функцией javascript setDealers только команды предупреждения запускаются, и желаемое значение не передается классу действий.

Есть ли недостающие/неправильные данные с struts.xml.

ответ

1

Во-первых, вы сделали опечатку в коде == против =

Во-вторых, это звучит, как перенаправить к действию, для вызова использовать действие s:action или $.ajax() см example.

Trird, для URL-адресов лучше использовать тег s:url для создания URL-адреса.

var url = "<s:url action='getDealersByGrouppopUpAction'/>"+"?reportGroup="+rep_value; 
window.location=url; 
Смежные вопросы