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