Loading

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"); %>
posted @ 2023-03-19 19:56  冰稀饭Aurora  阅读(480)  评论(0编辑  收藏  举报