【问题标题】:Passing a parameter from JSP to action class in Struts 2将参数从 JSP 传递到 Struts 2 中的动作类
【发布时间】:2014-12-14 15:37:49
【问题描述】:

我试图在单击按钮(非提交按钮)时将文本字段的值作为 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>

点击按钮后,PopUpAction 类的 getDealersByGroup 方法应该被调用,并在 SQL 查询中使用传递的值,即"reportGroup"。 但是根据上面的 javascript 函数 setDealers 只执行警报命令,并且没有将所需的值传递给操作类。

struts.xml 是否有任何遗漏/或错误。

【问题讨论】:

    标签: javascript jsp struts2


    【解决方案1】:

    首先,您在代码=== 中打错了字

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

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

    Trird,对于 URL,最好使用 s:url 标签来构建 url。

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

    【讨论】:

      猜你喜欢
      • 2013-12-07
      • 1970-01-01
      • 2015-04-03
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-11
      相关资源
      最近更新 更多