0

我有一个 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 中的 SAVE 按钮后,将调用上述函数,将我的请求转发到 MyAction 类,然后 MyAction 类将请求转发到另一个 jsp 页面。我想传递要在 MyAction 类中传递的 parentUrl 变量,这样我就可以使用这个变量的值来编写一些逻辑。这是从请求中检索变量值的 myAction 类代码:

String parentURL = (String)request.getParameter("url"); 

基本上我想从请求的来源获取父页面的 URL。这就是我使用 document.referrer 功能的原因。

我的问题是当我在函数 editAddress() 中添加这两行时,我的 SAVE 按钮停止工作并且它没有导航到另一个页面。我不知道为什么会这样。

var parentUrl=document.referrer;
request.setAttribute("url", parentUrl);

请让我知道将这个 parentUrl 变量从 JavaScript 传递给 \MyAction 类的任何其他更好的方法。谢谢!!

4

1 回答 1

2

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)以访问其值

于 2012-06-12T08:59:35.163 回答