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 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!