java中如何用request获得一个列表传来的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何用request获得一个列表传来的值?相关的知识,希望对你有一定的参考价值。

步骤如下:
1、在web工程里面创建一个Servlet类,继承HttpServlet,重写doPost,doGet方法,在doPost方法中调用doGet方法;
2、在doGet方法中把要设置到jsp页面的值存到request中;
3、在doGet方法中添加转发到jsp页面的代码;
4、在jsp页面中使用jstl标签获取存入的值。
事例代码如下:
Servlet类:
public class DemoServlet extends HttpServlet

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
request.setAttribute("name", "nameValue");
request.getRequestDispatcher("/demo.jsp").forward(request, response);

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
doGet(request, response);


jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Demo</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
$name
</body>
</html>

其中,<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>表示导入jstl标签库,没导入的话无法使用jstl标签,使用jstl标签可以减少很多代码量,导入jstl标签后就可以通过使用$的方法来获取值了。
参考技术A 步骤如下:
1、在web工程里面创建一个Servlet类,继承HttpServlet,重写doPost,doGet方法,在doPost方法中调用doGet方法;
2、在doGet方法中把要设置到jsp页面的值存到request中;
3、在doGet方法中添加转发到jsp页面的代码;
4、在jsp页面中使用jstl标签获取存入的值。
事例代码如下:
Servlet类:
public class DemoServlet extends HttpServlet

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
request.setAttribute("name", "nameValue");
request.getRequestDispatcher("/demo.jsp").forward(request, response);

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
doGet(request, response);


jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Demo</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
$name
</body>
</html>

其中,<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>表示导入jstl标签库,没导入的话无法使用jstl标签,使用jstl标签可以减少很多代码量,导入jstl标签后就可以通过使用$的方法来获取值了。
参考技术B 有一个专门获取参数的方法 我直接把语句写出来吧 你可以按照这个写在你的servlet里面 就可以接收到参数了 我简单的写一段代码 供你参考

public class CalcServlet extends HttpServlet
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
String snum1 = req.getParameter("nam1");//获取名字叫nam1的参数
String snum2 = req.getParameter("nam2");
本回答被提问者和网友采纳
参考技术C 后台用的什么框架?struts2? + 前台jsp?

在jsp中如何用request中获取后台传来的数据?

我使用的是struts1结构,在一个actionform中,
request.setAttribute("datetime", datetime);
return mapping.findForward("drawStack");

之后会跳转到drawStack.jsp中,
当跳转到drawStack.jsp中时,jsp中有如下定义:
<%
String datetime1 = (String)request.getParameter("datetime");
%>
<img src="/Hangtian/DisplayChart?filename=<%=datetime1%>" />

但我每次得到的datetime1都是Null,请问是怎么一回事,该如何解决?谢谢!

    用request.getAttribute获取,而不是getParameter。

    HttpServletRequest接口有setAttribute方法,而没有setParameter方法

    当两个Web组件之间为链接关系时,被链接的组件通过getParameter方法来获得请求参数

    String datetime1 = (String)request.getAttribute("datetime");

    通常情况下,你每次提交(点击搜索)的时候,

    过程如下: 转到后台,根据你的输入生成新的sql语句转到后台

    数据库查询出新的表格内容

    转到前台展示整个页面

    到了展示的这一步,会生成新的页面,虽然是跟上一个一样的页面,其实他的内容都是重新生成显示的.

参考技术A 你用的是request.setAttribute("datetime", datetime);设置的值,所以对应的应该用request.getAttribute("datetime");来取值.

request.getParameter("datetime");顾名思义,是当你用参数的方式通过url或表单将datetime传递从一个页面传递到另一个页面或action时,在目的地采用request.getParameter("datetime")获取传过来的参数值
参考技术B 用request.getAttribute获取,而不是getParameter。
(1)HttpServletRequest接口有setAttribute()方法,而没有setParameter()方法
(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,

String datetime1 = (String)request.getAttribute("datetime");本回答被提问者和网友采纳
参考技术C 用request.getAttribute获取,而不是getParameter。

以上是关于java中如何用request获得一个列表传来的值?的主要内容,如果未能解决你的问题,请参考以下文章

java中如何用setAttrbute()传递参数啊?请举例说明,谢谢!

jsp中如何用request对象获取复选框的多个值

在Java中如何用一个对象的一个属性返回该对象

在Java中如何用calendar类输入年和月份打印当月的日历

java中如何用Scanner接收整形变量

在java Web中如何用Ajax实现用户名已存在