在JSP中将参数从JSP传递给动作类

时间:2014-10-19 16:00:51

标签: javascript jsp struts2

我试图在点击按钮(非提交按钮)时将文本字段的值作为URL参数从JSP传递到动作类,并在此链接中找到了解决方案:Onchange event in Struts2

我已遵循该链接中提到的所有步骤,即:

  • onClick活动
  • 创建javascript函数
  • 在函数内部,即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,其中包含getter和setter。

同样为了支持这一切,我在struts.xml中进行了以下配置:

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

单击该按钮时,应调用getDealersByGroup类的PopUpAction方法,并在SQL查询中使用传递的值"reportGroup"。 但是根据上面的javascript函数setDealers,只有警报命令被执行,并且期望的值不会传递给动作类。

struts.xml是否遗漏/错误。

1 个答案:

答案 0 :(得分:1)

首先,您在代码===

中输了一个拼写错误
window.location="getDealersByGrouppopUpAction?reportGroup="+rep_value;

其次,这听起来像重定向到操作,调用操作使用s:action$.ajax()请参阅example

Trird,对于网址,最好使用s:url标记来构建网址。

var url = "<s:url action='getDealersByGrouppopUpAction'/>"+"?reportGroup="+rep_value;
window.location=url;