将参数从 JSP 传递到 Struts 2 中的操作类

问题描述 投票:0回答:1

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

我已按照该链接中提到的所有步骤进行操作,即:

  • 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

javascript jsp url struts2 parameter-passing
1个回答
1
投票

首先,您在代码中犯了一个拼写错误

==
vs
=

window.location="getDealersByGrouppopUpAction?reportGroup="+rep_value;

其次,这听起来像是重定向到操作,要调用操作,请使用

s:action
$.ajax()
请参阅 example

Trird,为了更好地使用

s:url
标签来构建 URL。

var url = "<s:url action='getDealersByGrouppopUpAction'/>"+"?reportGroup="+rep_value;
window.location=url;
© www.soinside.com 2019 - 2024. All rights reserved.