JSP 页面跳转中的参数传递
1. 从一个 JSP 页面跳转到另一个 JSP 页面时的参数传递
1)使用 request 内置对象获取客户端提交的信息
2)使用 session 对象获取客户端提交的信息
3)利用隐藏域传递数据
4)通过超链接传递数据
2. 从JSP 页面传递参数给 Servlet
1)使用 request 对象接受参数
2)使用 session 对象,url,form表单传递参数
3. 从 Servlet 向 JSP 页面中传递参数
从 Servlet 到 JSP 页面传递参数,可以使用 URL,request 对象,session 对象
4. 从一个 Servlet 向另一个 Servlet 传递参数
1)通过超链接和 form 表单传递数据
2)使用 setAttribute() 和 getAttribute() 方法传递参数
https://blog.csdn.net/Qiuzhongweiwei/article/details/76037324
5. 将后台数据库中查询的结果传递到JSP页面中
查询数据库后获得的结果是 ResultSet
递归 ResultSet 获得相应数据,然后将这些数据再依次存入列表中,最后将存放数据的列表以属性的方式封装到 request 或者 session 中,这样在 JSP 页面中就可以读取属性
...
try {
if (resultSet == null) {
response.sendRedirect("/pathogen/queryPathogen");
return;
}
while (resultSet.next()) {
QueryResult queryResult = new QueryResult();
queryResult.setTaxid(resultSet.getString("taxid"));
queryResult.setOrganismName(resultSet.getString("organism_name")); // 物种名称
queryResult.setGramStrain(resultSet.getString("gram_strain")); // 革兰氏分型
queryResult.setSuperkingdom(resultSet.getString("superkingdom")); // 分类地位
queryResult.setDisease(resultSet.getString("disease")); // 疾病名称
queryResult.setIsolationSource(resultSet.getString("isolation_source")); // 样本来源
queryResult.setEvidenceSupport(resultSet.getString("evidence_support")); // 收录来源
queryResultList.add(queryResult); // 将每条记录追加到列表中
};
request.setAttribute("queryPathogenResultList", queryResultList); // 将查询结果封装到 request 范围的属性中
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/JSP/queryPathogen.jsp");
requestDispatcher.forward(request, response); // 将 request 和 response 转发到相应的 JSP页面中
} catch (SQLException e) {
e.printStackTrace();
}
在 JSP 页面中读取封装到 request 中的数据
<%
if (request.getAttribute("queryPathogenResultList") != null ) {
%>
<div>
<h2>病原数据库检索结果</h2>
<%
if (((List<Object>)request.getAttribute("queryPathogenResultList")).isEmpty()) {
%>
未查询到结果!
<%
} else {
%>
<table border=1 >
<tr>
<c:if test="${requestScope.taxid == 'taxid' }" >
<th>taxId</th>
</c:if>
<c:if test="${requestScope.organismName == 'organismName' }" >
<th>物种名称</th>
</c:if>
<c:if test="${requestScope.gramStrain == 'gramStrain' }" >
<th>格兰氏分型</th>
</c:if>
<c:if test="${requestScope.rank == 'rank' }" >
<th>分类地位</th>
</c:if>
<c:if test="${requestScope.disease == 'disease' }" >
<th>疾病信息</th>
</c:if>
<c:if test="${requestScope.isolationSource == 'isolationSource' }" >
<th>样本来源</th>
</c:if>
<c:if test="${requestScope.dataSource == 'dataSource' }" >
<th>收录来源</th>
</c:if>
<c:if test="${requestScope.gcContent == 'gcContent' }" >
<th>GC含量</th>
</c:if>
<c:if test="${requestScope.refGenome == 'refGenome' }" >
<th>参考基因组</th>
</c:if>
</tr>
<c:forEach items="${queryPathogenResultList}" var="queryPathogenResult" >
<tr>
<c:if test="${requestScope.taxid == 'taxid' }" >
<td>${queryPathogenResult.taxid }</td>
</c:if>
<c:if test="${requestScope.organismName == 'organismName' }" >
<td>${queryPathogenResult.organismName }</td>
</c:if>
<c:if test="${requestScope.gramStrain == 'gramStrain' }" >
<td>${queryPathogenResult.gramStrain }</td>
</c:if>
<c:if test="${requestScope.rank == 'rank' }" >
<td>${queryPathogenResult.superkingdom }</td>
</c:if>
<c:if test="${requestScope.disease == 'disease'}" >
<td>${queryPathogenResult.disease }</td>
</c:if>
<c:if test="${requestScope.isolationSource == 'isolationSource' }" >
<td>${queryPathogenResult.isolationSource }</td>
</c:if>
<c:if test="${requestScope.dataSource == 'dataSource' }" >
<td>${queryPathogenResult.evidenceSupport }</td>
</c:if>
<c:if test="${requestScope.gcContent == 'gcContent' }" >
<td></td>
</c:if>
<c:if test="${requestScope.refGenome == 'refGenome' }" >
<td></td>
</c:if>
</tr>
</c:forEach>
</table>
<%
}
%>
</div>
<%
}
%>
JSP 页面跳转中的参数传递的更多相关文章
- Jsp页面跳转和js控制页面跳转的几种方法
Jsp 页面跳转的几种方法 1. RequestDispatcher.forward() 在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servle ...
- JSP页面跳转
JSP页面跳转 RequestDispatcher.forward() 服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到 ...
- 网站开发进阶(三十七)JSP页面跳转问题解决
JSP页面跳转问题解决 PS:本篇博文质量欠佳,仅供个人学习之用. 前言 在做Web开发时,对别人的应用(jsp+servlet)进行服务器部署时出现了页面跳转无效的情况.但是项目在本地未出现此状况. ...
- AngularJS进阶(八)实现页面跳转并进行参数传递
angularjs实现页面跳转并进行参数传递 注:请点击此处进行充电! Angular页面传参有多种办法,我在此列举4种最常见的: 1. 基于ui-router的页面跳转传参 (1) 在Angular ...
- JSP页面跳转方式
JSP页面跳转方式 1.利用按钮+javascript进行跳转 <input type="button" name="button2" value=&qu ...
- 五种JSP页面跳转方法详解
1. RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个 ...
- JSP页面跳转的几种实现方法
使用href超链接标记 客户端跳转 使用JavaScript 客户端跳转 提交表单 客户端跳转 使用response ...
- 异常之JSP页面跳转出错
今天在开发过程中发现一个问题:在页面中使用了<jsp:forward>抛错Attempt to clear a buffer that's already been flushed!! 百 ...
- Springboot+MyBatis+mysql+jsp页面跳转详细示例
SpringBoot与MyBatis搭建环境,底层数据库为mysql,页面使用JSP(官网上不推荐使用jsp),完成从数据库中查询出数据,在jsp页面中显示,并且实现页面的跳转功能. 项 ...
随机推荐
- 2522 和为K的倍数
2522 和为K的倍数 2 秒 262,144 KB 10 分 2 级题 小b喜欢和为K的倍数的序列. 现在有一个长度为n的序列A,请问A有多少个非空连续子序列是小b喜欢的. 收起 输入 第一 ...
- xcode9.4 报错 error:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
原因 http | https 协议 不能正常使用 找到的解决方案 但是在字段名上有了变化,不过复制进去 还是会自动选择对应的 解决办法 1. 在Info.plist中添加 App Transpor ...
- (转)Android 只开启一个Activity实例
在一个Activity中,多次调用startActivity()来启动另一个Activity,要想只生成一个Activity实例,方法有两种. 方法一:设置起动模式 一个Activity有四种启动模式 ...
- js验证对象类型
js验证对象类型 1. Object.prototype.toString.call() 这是最佳解决方案,可以用作通用方式处理.各种类型的判断依据类似于[object Object],替换的是后边的 ...
- REATE A STATIC WEBSITE
REATE A STATIC WEBSITE USING JEKYLL Review Great work! Let's review what you accomplished in this un ...
- Laravel 5.3 单用户登录的简单实现
需求 一个用户不能重复登录. 后登录者可以踢掉前者. 设计思路: 核心概念 用户ID: 是用户表主键 singleToken 算法: singleToken = md5(用户IP + 用户ID + 登 ...
- @Transactional 事务说明
这里面有几点需要大家留意:A. 一个功能是否要事务,必须纳入设计.编码考虑.不能仅仅完成了基本功能就ok.B. 如果加了事务,必须做好开发环境测试(测试环境也尽量触发异常.测试回滚),确保事务生效.C ...
- 项目(一)ftp搭建
FTP服务 FTP两种模式: 主动模式服务器向客户端敲门,然后客户端开门 被动模式客户端向服务器敲门,然后服务器开门 传输模式:可以是文本模式,也可以是二进制模式,二进制模式更适合传输图片等非文本字符 ...
- 大数据入门到精通18--sqoop 导入关系库到hdfs中和hive表中
一,选择数据库,这里使用标准mysql sakila数据库 mysql -u root -D sakila -p 二.首先尝试把表中的数据导入到hdfs文件中,这样后续就可以使用spark来dataf ...
- Linq指令执行分析
Linq指令执行分析 一.Linq中IEnumerable的结构 Linq在执行聚合操作和ToXxx系统方法之前,一直都是一个数据源和一串指令(下面的讨论都是基于未执行聚合操作和ToXxx系统方法之前 ...