Jsp传值三种⽅式jsp页面输出的三种方式
jsp向servlet传值⼤致有这么⼏种情况。
1.1第⼀种超链接,在href='servletAction?id=xxx'
1.2第⼆种form表单提交,当点击submit时,action="servletAction" method='get/post'//注意这个可是要按提交按钮的
1.3第三种就是利⽤ajax,url='servletActionz',当然了,这⾥也有get和post两种情况,get直接在url后⾯加问号传参,post会把参数放在实体内容⾥⾯。
2.最后在servlet那边⽤ Parameter("参数名");就可以拿到了
Jsp与Servlet之间的传值有两种,⼀种是Jsp传值给Sevlet,另⼀种是Servlet传值给Jsp;使⽤request、response对象完成传值,具体实现如下:
1.JSP传值给Servlet
JSP传值给Servlet有⼏种形式:Form表单传值,url传值,其他⽅式传值
a、form表单传值:
JSP页⾯有:<input type="radio" name="staffdepartment" value="1" id="department1" />,将department的id传到Sevlet
中,在程序中如下:ServletRequest request;String Parameter("staffdepartment");可获取jsp传的department,但要获取id还要进⾏转化:int int_staffdepartment=Integer.parseInt(staffdepartment);
b、url传值
⽐如这⾥的 <a>标签的 href属性与 <form>标签的 action属性的值 "JspServlet?action=toServlet",在 servlet同样⽤
c、java代码传值
java⽚段代码,servlet只能接到 session.setAttribute("testSession","Hello session")的内容,⽽接不到 request的内容。在 servlet⾥⽤ Session().getAttribute("testSession")获取 session内容。
2.Servlet传值给Jsp
具体实现如下:
java代码:String a= "abccdefg ";
request.setAttribute( "ValueA ",a);
jsp页⾯:
<%
String s =(Attribute( "ValueA ");
%>
jsp页⾯就可以取出Servlet的值。
3.从servlet到jsp的⽅法
从 servlet转到 jsp不外乎两种⽅法,重定向 和 url转发
a、重定向 ( Redirect):是路径的跳转,内容和 url都改变。不允许带 request参数( session参数可以),即不允许在servlet⾥给 request 对象使⽤setAttribute⽅法传给下⼀页⾯。在 servlet⾥使⽤ response.sendRedirect(url) ⽅法。注意这⾥的 url前不带斜线 /,
如 response.sendRedirect(”test.jsp“)
b、url转发 ( Forward):是页⾯的跳转,页⾯内容发⽣改变,url不变。可以带 request和 session参数。在 servlet⾥使
⽤ getServletConfig().getServletContext().getRequestDispatcher(url).forward(request, response)。⽽这⾥的url前需要带斜
线 /,如getServletConfig().getServletContext().getRequestDispatcher(”/test.jsp“).forward(request, response)
4、从jsp到servlet的⽅法
a、表单:post⽅法提交表单
b、链接:url⽅式(带参数)
转载学习:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论