您的位置:首页 > 其它

页面跳转过程中的数据传递问题【不断更新】

2015-05-15 11:29 381 查看
页面跳转有几种不同的类型,有在单纯jsp页面实现的跳转,这个我自己也有总结,详见博文《点击按钮实现网页重定向的方式以及其他一些延伸》(其实这里面的实现方式是可以灵活选择的,并不是文本框就只能用文章里写的那种方式,也可以用按钮的实现方式);也有是在通过控制层分发请求实现重定向跳转页面的(这个应该说是持久层与页面之间的数据传递更确切一些)。

单纯jsp页面的跳转--->

获取页面传过来的参数

源页面代码如下:

function updatePassword(){

var name='${requestScope.username}';

var win;

win=window.location.replace("/test/load.jsp?username="+name+"&category=23","Index",

"height=500,width=800,left=400,top=200,location=yes,toolbar=yes,resizable=yes,scrollbars=yes") ;

}

<input type="button" value="修改密码" onclick="updatePassword()" />

load.jsp页面的代码:

<%String username=request.getParameter("username"); %>

用户名:<input name="用户名" type="text" value="<%=username %>"/>

通过控制层分发请求,重定向跳转页面(涉及数据库操作)--->

通常是先在Action控制层,将数据绑定在request对象上,然后在jsp再通过request获取数据对象

Action层代码:

int id = Integer.parseInt(request.getParameter("id"));

EmployeeDAO empdao = new EmployeeDAO();

Employee e = empdao.loadEmp(id);

request.setAttribute("employee", e);

RequestDispatcher rd = request.getRequestDispatcher("load.jsp");

rd.forward(request, response);

jsp页面代码:
<%

Employee e = (Employee) request.getAttribute("employee");

%>

ID号: <%=e.getId()%>

<input type="hidden" name="id" value="<%=e.getId() %>"/><br />

姓名:<input name="name" value="<%=e.getName() %>"/><br />

薪水:<input name="salary" value="<%=e.getSalary() %>"/><br />

年龄:<input name="age" value="<%=e.getAge() %>"/><br />

PS:另外说说window.location和window.open的区别

window.location = "http://www.baidu.com" 跳转后有后退功能
window.location.replace("http://www.baidu.com") 跳转后没有后退功能
window.open("http://www.baidu.com") 要新的窗口打开链接

<SCRIPT LANGUAGE="javascript"> js脚本开始;
  window.open 弹出新窗口的命令;
  文件路径/文件名 弹出窗口的文件名;
  newwindow 弹出窗口的名字(不是文件名),非必须,可用空代替;
  width=400 窗口宽度;
  height=300 窗口高度;
  top=0 窗口距离屏幕上方的象素值;
  left=0 窗口距离屏幕左侧的象素值;
  toolbar=no 是否显示工具栏,yes为显示;
  menubar,scrollbars 表示菜单栏和滚动栏。
  resizable=no 是否允许改变窗口大小,yes为允许;
  location=no 是否显示地址栏,yes为允许;
  status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
</SCRIPT> js脚本结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: