怎么把java从后台取到的数据传到jsp页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把java从后台取到的数据传到jsp页面相关的知识,希望对你有一定的参考价值。

JDBC连接数据库的部分已经完成了,代码如下
Statement stmt=conn.createStatement();
ResultSet rs= stmt.executeQuery("SELECT diagnostic_name_outpatients,Count(*) FROM westmedicalrecord w GROUP BY w.diagnostic_name_outpatients ORDER BY COUNT(*) DESC LIMIT 20" );
while (rs.next())
System.out.println(rs.getString("diagnostic_name_outpatients")+","+rs.getInt("COUNT(*)"));
//这里暂时是输出,应该存成两个数组



结果截图是这样

要传到的jsp页面代码

<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 750px;height:600px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option =
title:
text: '地区整体发病情况'
,
tooltip: ,
legend:
data:['发病人数']
,
xAxis:
data: ["肺部感染","慢性胃炎","支气管肺炎","腹痛","急性支气管炎","肺炎","胆囊结石伴急性胆囊炎","支气管肺炎","腰椎间盘突出","颅内损伤"]
,
yAxis: ,
series: [
name: '发病人数',
type: 'bar',
data: [2126, 1585, 1554, 1514, 1412, 1044,964,881,750,728]
]
;
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>

要传入的位置

参考下面
比如在后台设置一个值在request里面,request.setAttribute("param",param);

在jsp页面就可以这样获取,$param; el表达式。

在页面传值到后台中,第一种post方式,提交表单时。
<form action="xxx.do" method="post">
<input type="text" name="username"/>
<input type="password" name="password"/>
<input type="submit"/>
</form>
点击提交按钮后在后台获取Username,和password

String username =request.getParamter("username");
String password=request.getParamter("password");

如果是get方式提交的话
举个例子:

<a href="xxx.do?param1=123">查看</a>
那么在后在获取也是一样的
String param1=request.getParamter("param1");追问

你是不是看反了,我是把后台的值传到前台页面上显示,不是前台的值传给后台

追答

request.setAttribute("bbb",bbb);
在目标JSP页面这样写"/>,(或者$request.bbb)然后在Script中直接通过操作dom取得该值,var bbb=document.getElementById("info").value;不过这样获得的值已经是个字符串了,因为无论是还是表达式,执行的对象的toString方法输出,如果是数组的时候可以考虑用C标签,循环输出每个数组元素,然后用document.getElementByName方法获取

求采纳啊,打这么多字不容易

追问

你这字不是打的啊,我在另外一个问题看到你这答案了,完全复制的

参考技术A

这个在servlet中可是使用转发实现参数传递

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
request.setAttribute("username", "dhweicheng");
request.setAttribute("password", "123456");
request.getRequestDispatcher("/my.jsp").forward(request, response);


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>页面代码</title>
</head>
<body>
<h5>通过request对象取值</h5>
账号:<%=request.getAttribute("username") %><br/>
密码:<%=request.getAttribute("password") %><br/>
<P>=======================</P>
<h5>通过EL表达式取值</h5>
账号:$username<br/>
密码:$password
</body>
</html>

参考技术B 异步请求,将得到的数据组成两个数组(name一个,count一个),加到map中,转成json,送回页面。在页面使用json取值,对data进行赋值。追问

我封装了map,但是在封装json的时候遇到了问题,系统总是报错

是这样的么?

参考技术C

我用的是spring mvc 请参考

Controller

@RequestMapping(value ="/userList", method =RequestMethod.GET)
private String userList(Model model) throws IOException
List<User> userList= userService.queryAllUser(); //获取所有用户
model.addAttribute("userList", userList);  //传递给Model,页面获取
return "main.index";

index.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
...
<body>

<c:forEach items="$userList" var="user" varStatus="i">
 $i.index:$user.name<br>
</c:forEach>

</body>

追问

我按照楼下说的封装map,但是在map转json的时候遇到了问题,系统总是报错,你知道这个怎么弄么?

追答

能把你的代码,像我这样贴出来吗?页面和Controller

本回答被提问者采纳

jsp与Action值得对应

例如:Action中有一个全局对象dictionary,对象有种A,B,C三个属性。

1、通过后台将Action中的值传到jsp,需要el表达式。

页面取到A的值

<input name="随便起名字" value="{dictionary.A}">

2.如果想讲页面的值传到后台 可以通过提交表单方式 将A传到后台,

form中的name可以随便起

name不能随便起名字

<form role="form" id="addChaForm" name="addChaForm">

  <input name="dictionary.A" value="">

</form>

form中主要是为了给Ajax传序列化参数,例如如下

var param = $("#addChaForm").serialize();

以上是关于怎么把java从后台取到的数据传到jsp页面的主要内容,如果未能解决你的问题,请参考以下文章

java中如何在前台jsp页面封装一个map并传到后台啊

从前台jsp页面传到后台的是啥数据类型,是字符串吗?

jsp与Action值得对应

java运行结果是一个list,打印在控制台上,怎么把它显示在一个jsp页面

java后台的json值怎么传给jsp页面,并进行遍历

怎么把action中的值传到jsp页面