我需要做的是,当用户点击某个div /图像时,导航到另一个页面。我在后端使用struts2。
到目前为止,我找到了两种产生相同效果的方法(导航到另一页):
使用我的操作创建s:url
标记。添加div
onclick
属性,并将url作为参数。在javascript函数中,调用window.open(url)
使用操作创建表单。使用jquery,请致电document.forms[].submit();
我想知道的是这两种方法之间的区别。我最感兴趣的是在struts内部发生的事情方面的差异,或者在浏览器和服务器之间的对话方面,或者会话中发生的事情
一个区别(我不感兴趣)是window.open还接受在新窗口中打开的参数,并调整该窗口的大小。我想在同一窗口中打开新动作
第二个区别(确实更有趣)是表单允许使用POST或GET协议。至于window.open,我不确定使用哪种协议
答案 0 :(得分:1)
window.open
打开一个新窗口
window.location
更改当前页面的位置
forms[n].submit()
将第n个表单提交给服务器。
窗口函数发出GET请求,如果需要向服务器发送信息,可以在其中添加URL参数。您可以在URL中发送的字符数有限制,并且在GET请求中发送密码通常不是一个好主意。
当您发布表单时,参数在消息中而不在URL中,因此它们不会显示在浏览器历史记录中,也不会受到URL长度限制的影响。
如果您没有将数据发送到服务器进行处理,而您只需要导航图像,请将其包装在锚标记中
<a href="desired location"><img src=""/></a>