黑马程序员技术交流社区
标题:
jsp中的页面端传递参数的方式有几种?
[打印本页]
作者:
吴限量
时间:
2011-10-16 20:52
标题:
jsp中的页面端传递参数的方式有几种?
jsp中的页面端传递参数的方式有几种?
作者:
125644319
时间:
2011-10-17 08:09
{:soso_e113:}
作者:
刘肥
时间:
2011-10-17 10:29
1) 表单提交,这个没什么可说的
2) URL重写,就是 ? 传参 xxx.jsp?myid = 1
3) jsp:param传递,用在jsp:forward或jsp:include 标签中
例如:
<jsp:forward page="xxx.jsp">
<jsp:param name="myid" value="1"/>
</jsp:forward>
和上边的URL重写传递的参数完全相同,表示自动跳转到xxx.jsp,并包含参数
作者:
朱华
时间:
2011-10-17 10:33
本帖最后由 朱华 于 2011-10-17 10:36 编辑
纯手打,请区分。是指向JSP传递参数么?
事先我没上网搜标准答案,仅凭记忆和实际用到的频率。
1<%%>与<%=%>方式,这种是简单,也是最不推荐的方式,就是将JAVA代码段直接用<%%>扩起来然后写在JSP页面上,所有的连接数据库(当然应该是封装后的方法)、逻辑处理全都可以显式的写在页面上,例如你在页面头部<%String test = "test";%>定义了一个String,然后在该页面下面的任何部位都可以<%=test%>这样的方式来使用该参数。
2.如果你使用Struts1或者2的话,他们都提供了相应的标签来支持你向页面传值(不详细介绍,只简单提一下。),例如
struts1中比较常用的方法是后台将要传的值按需要写入request或session中,然后前台调用<bean:write name="theName" scope="request/session"/>,
struts2中:<s:property value="theName"/>,
或者EL表达式:${theName},${sessionScope.theName}
或者利用迭代器标签:<s:iterator></s>来迭代放于session或request中的数组。
3.当然了,还有一些结合JS的方法,比如AJAX到后台取值,然后再用JS赋值给相应的控件,一样可以传值,这种方法因为其异步的特性被广泛应用。
4.带参的链接。这种方法一般用于页面跳转时,页面与页面见的相互传值,比如你在做一个向导页,他需要跳转下一个页面,而下一个页面显示的结果是根据上一个页面传值来决定的,那么就直接url="next.jsp?theName=test",next.jsp中直接request.getParameter("theName")就哦了。
作者:
朱华
时间:
2011-10-17 10:41
补充:如果说的是往后台传递参数:
1.form表单提交,当然,如果你使用struts的话,form最好按struts标签的要求来写,不多解释。
2.AJAX提交,同样无需多解释。
3.链接后带参,道理等同于页面间传递参数,url="next.jsp?theName=test",后台中request.getParameter("theName")
作者:
罗亚东
时间:
2011-10-17 13:34
1) 表单提交,这个没什么可说的
2) URL重写,就是 ? 传参 xxx.jsp?myid = 1
3) jsp:param传递,用在jsp:forward或jsp:include 标签中
例如:
<jsp:forward page="xxx.jsp">
<jsp:param name="myid" value="1"/>
</jsp:forward>
和上边的URL重写传递的参数完全相同,表示自动跳转到xxx.jsp,并包含参数
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2