我有一个 view.jsp,并且我在此 JSP 中的 JavaScript 函数内声明了一个变量 (parentUrl)。我想将此变量传递给我的 Java 类 (MyAction)。这是我的代码
function editAddress(){
var parentUrl=document.referrer;
request.setAttribute("url", parentUrl);
document.forms[0].action = "path of the Myaction class";
document.forms[0].submit();
}
单击 view.jsp 中的“保存”按钮后,将调用上述函数,将我的请求转发到 MyAction 类,然后 MyAction 类将请求转发到另一个 jsp 页面。我想传递要在 MyAction 类中传递的parentUrl 变量,以便我可以使用该变量的值来编写一些逻辑。以下是从请求中检索变量值的 myAction 类代码:
String parentURL = (String)request.getParameter("url");
基本上我想从请求来源处获取父页面的 URL。这就是我使用 document.referrer 函数的原因。
我的问题是,当我在函数 editAddress() 中添加这两行时,我的“保存”按钮停止工作,并且没有导航到另一个页面。我不知道为什么会这样。
var parentUrl=document.referrer;
request.setAttribute("url", parentUrl);
请让我知道将此parentUrl 变量从JavaScript 传递到\MyAction 类的任何其他更好方法。谢谢!!
最佳答案
request.setAttribute()
不是 JavaScript 方法,因此您不能以这种方式使用它。相反,请在表单中声明一个隐藏字段并将其值设置为“提交”。
<form>
...
<input type="hidden" name="parentURL">
...
</form>
function editAddress(){
var parentUrl=document.referrer;
document.forms[0].parentURL.value=parentUrl;
document.forms[0].action = "path of the Myaction class";
document.forms[0].submit();
}
在操作类中声明 parentURL
(getter/setter)以访问其值
关于javascript - 将变量从 JavaScript 传递到 Action 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10954611/