Javascript Struts2以字符串形式传递url
我使用javascript函数来提交表单,在javascript函数中,我指定Javascript Struts2以字符串形式传递url,javascript,struts2,Javascript,Struts2,我使用javascript函数来提交表单,在javascript函数中,我指定form.action=“Struts2 url goes here” 以下是我的代码片段: var form = document.forms['myForm']; if (form != null) { var backURL = "ActionB!someMethodB.action?Bparam1=somevalue&Bparam2=somevalue"; form.action="Ac
form.action=“Struts2 url goes here”代码>
以下是我的代码片段:
var form = document.forms['myForm'];
if (form != null) {
var backURL = "ActionB!someMethodB.action?Bparam1=somevalue&Bparam2=somevalue";
form.action="ActionA!someMethodA.action?Aparam1=somevalue&Aparam2=" + backURL;
form.submit();
}
问题在于,在动作方法someMethodA
中,Aparam2
的值总是被backURL
中的第一个符号和切断
我试图用这样的引号将backURL
括起来form.action=“ActionA!someMethodA.action?Aparam1=somevalue&Aparam2=”+backURL+”代码>但它不起作用。这让我觉得backURL
的值不是作为一个整体处理的,而是经过解析的
我想知道是否有办法解决这个问题。如果您想在url中使用一个包含特殊字符的参数,那么应该对其进行url编码
var backURL = encodeURIComponent("ActionB!someMethodB.action?Bparam1=somevalue&Bparam2=somevalue");
此外,URL的硬编码值可以在带有标记的服务器上构建
var backURL=encodeURIComponent(“”);
在这种情况下,默认情况下&
转义为&代码>但转义值通常用于浏览器。帮助很多。非常感谢。
var backURL = encodeURIComponent('<s:url action="ActionB" method="someMethodB"><s:param name="Bparam1" value="somevalue"/><s:param name="Bparam2" value="somevalue"/></s:url>');