Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 动态更改struts2 url的参数_Java_Url_Parameters_Tags_Struts2 - Fatal编程技术网

Java 动态更改struts2 url的参数

Java 动态更改struts2 url的参数,java,url,parameters,tags,struts2,Java,Url,Parameters,Tags,Struts2,我在struts2框架中动态地为url分配参数时遇到问题。 我为此挣扎了几天,但我无法让它发挥作用。 有一点背景知识,我正在使用struts2做一个web应用程序,我还使用了JQuery插件。 我有两个自动完成,我需要相互链接,我发现最好的方法是将第一个自动完成器上选择项的id传递给第二个自动完成器,以缩小其选项范围 所以我现在做的是这样的,正如这里所说的 我用JQuery设置了隐藏字段的值,可以看到该值正在更改。我的问题是将该值放入参数中。我也试过这样,但还是一无所获 <s:para

我在struts2框架中动态地为url分配参数时遇到问题。 我为此挣扎了几天,但我无法让它发挥作用。 有一点背景知识,我正在使用struts2做一个web应用程序,我还使用了JQuery插件。 我有两个自动完成,我需要相互链接,我发现最好的方法是将第一个自动完成器上选择项的id传递给第二个自动完成器,以缩小其选项范围

所以我现在做的是这样的,正如这里所说的


我用JQuery设置了隐藏字段的值,可以看到该值正在更改。我的问题是将该值放入参数中。我也试过这样,但还是一无所获

<s:param name="companyId" value="%{contact_company_id}"></s:param>

我肯定我遗漏了一个小细节,希望有人能指出


提前感谢。

我不确定是否理解您的意思,但我认为您不能使用“s:”标记,因为这些标记是在页面生成时在服务器端处理的,一旦页面加载完成,就无法再次处理。

您必须使用jQuery客户端构建URL。您可以使用s:URL标记创建URL,并在页面上做出选择后在javascript中对其进行操作

<s:url id="contactsautocompleterurl" action="contacts-autocompleter" />
<script type="text/javascript">
    var actionURL = '<s:property value="%{contactsautocompleterurl}" />';

    $('#companyIdSelect').change(function(){
        var companyIDvalue = $(this).val();
        actionURL += '?companyId=' + companyIDvalue;
     });
</script>

var actionURL='';
$(“#公司选择”).change(函数(){
var companyIDvalue=$(this.val();
actionURL+='?companyId='+companyIDvalue;
});

这应该会产生您想要的结果,然后您只需将actionURL javascript变量分配到您需要的位置。

感谢您的回答,这可能会起到作用,但我已经猜到了哪里出了问题。在呈现页面之前,我必须设置隐藏id,我没有这样做,我只是在客户端通过jquery设置隐藏值,而隐藏字段必须在服务器端设置。另一个工作区就是你建议的那个。多谢了,汉克斯,就这样。必须在服务器端设置隐藏字段。当做
<s:url id="contactsautocompleterurl" action="contacts-autocompleter" />
<script type="text/javascript">
    var actionURL = '<s:property value="%{contactsautocompleterurl}" />';

    $('#companyIdSelect').change(function(){
        var companyIDvalue = $(this).val();
        actionURL += '?companyId=' + companyIDvalue;
     });
</script>