JSP与Servlet之间传值-后端数据与前端交互

先前,我的增删改查看重于功能因此直接将html套入servlet,现在我们做地铁查询系统,当然不能那么将就,要做的精致一些,

那么就需要用CSS修饰的前端页面,故我们需要先解决JSP与Servlet之间数据传递的问题。

 

1.首先是JSP传值到Servlet,这个非常简单。

1>JSP表单

简单的JSP(HTML)表单

<form action="Subway">
     <td align="center" colspan="2">地铁站点查询</td>
     <input type="text"placeholder="请输入名称" name="name"/></td>
   <input type="submit"value="查询"/> </form>

Servlet接收

 String name = request.getParameter("name");

2>通过超链接

<a href="AServlet?password=传输内容">文本</a>
String d = request.getParameter("password");

 

2.然后就是我们今天的核心,Servlet传值到JSP

1>首先是 response.sendRedirect ,但是我不是很推荐使用这个方法。

  Servlet发送:

response.sendRedirect("/…….jsp?username="+username);

  JSP页面的接收:

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

2>然后就是用 request.setAttribute ,我个人比较喜欢这种方法。

  Servlet发送:

request.setAttribute("key", value);

  JSP页面的接收:

<% String s =(String)request.getAttribute( "key "); %>

  然后使用这种方式跳转(不要使用重定向):

request.getRequestDispatcher("/…….jsp").forward(request, response);

示例:

在Servlet中先设定一个键值对名:routeLine 赋值为 l1,然后跳转

 JSP中接收

 

3.Servlet向Servlet传值

1>首先是之前用过的SESSION

传值

HttpSession session = request.getSession();
session.setAttribute("user", user);

接受

HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");

2>直接跳转

response.sendRedirect("BServlet?username=qu");
request.getParameter("username");

 

4.JSP向JSP传值

传输

<% request.setAttribute("username","username"); %>
<jsp:forward page="demo.jsp"/>
<a href="edit.jsp?sid=<%=bean1._id%>">传输</a>

接受

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

作者:冰稀饭Aurora

出处:https://www.cnblogs.com/rsy-bxf150/p/17234061.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   冰稀饭Aurora  阅读(557)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示