`
ln_ydc
  • 浏览: 266679 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

页面间传递多个参数

    博客分类:
  • Web
 
阅读更多

问题描述:

有多个页面,(1)选择课程-->(2)选择班级-->(3)选择考试-->(4)选择试卷-->(5)处理选择结果

每一步都向下一个页面传递一个参数,

要求每个页面都有上一步、下一步按钮(第一个页面和最后一个页面除外)

并且点击上一步时,能把先前选择的结果保留

------------------------------------------------------

解决方法:

后台用的是struts2框架

后台代码如下:

package demo.action;

import com.opensymphony.xwork2.ActionSupport;

public class SelectAction extends ActionSupport {
	/**
	 * 课程名称
	 */
	private String courseName;

	/**
	 * 年级
	 */
	private String grade;
	/**
	 * 班级
	 */
	private String classNo;

	/**
	 * 考试
	 */
	private String examId;

	/**
	 * 试卷
	 */
	private String paperId;

	/**
	 * step 1 选择课程
	 * 
	 * @return
	 */
	public String selectCourse() {
		return "success";
	}

	/**
	 * step 2 选择班级
	 * 
	 * @return
	 */
	public String selectClass() {
		return "success";
	}

	/**
	 * step 3 选择考试
	 * 
	 * @return
	 */
	public String selectExam() {
		return "success";
	}

	/**
	 * step 4 选择试卷
	 * 
	 * @return
	 */
	public String selectPaper() {
		return "success";
	}

	/**
	 * step 5 处理选择结果
	 * 
	 * @return
	 */
	public String selectResult() {
		return "success";
	}
        // get/set方法省略
}

struts.xml中的action配置如下:

<action name="select*" class="demo.action.SelectAction" method="select{1}">
			<result name="success">/jsp/select/select{1}.jsp</result>
		</action>

 

5个jsp页面如下:

selectCourse.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
	<script type="text/javascript">
		function toPage(href) {
			document.forms[0].action = href;
			document.forms[0].submit();
		}
	</script>
  </head>
  
  <body>
	<div>选择课程-->选择班级-->选择考试-->选择试卷</div>
	<div>
		(${courseName })-->(${grade }--${classNo })-->(${examId })-->(${paperId })
	</div>
    <h3>选择课程</h3>
    <form action="selectClass.action">
	    courseName: <input type="text" name="courseName" value="${courseName }"/><br/>
	    <input type="reset" value="重置"/> &nbsp;&nbsp;
	    <input type="submit" value="下一步"/>
    </form>
  </body>
</html>

  selectClass.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
	<script type="text/javascript">
		function toPage(href) {
			document.forms[0].action = href;
			document.forms[0].submit();
		}
	</script>
  </head>
  
  <body>
	<div>选择课程-->选择班级-->选择考试-->选择试卷</div>
	<div>
		(${courseName })-->(${grade }--${classNo })-->(${examId })-->(${paperId })
	</div>
    <h3>选择班级</h3>
    <form action="selectExam.action">
    	<input type="hidden" name="courseName" value="${courseName }"/>
	    grade: <input type="text" name="grade" value="${grade }"/><br/>
	    classNo: <input type="text" name="classNo" value="${classNo }"/><br/>
	    <input type="button" onclick="toPage('selectCourse.action');" value="上一步"/>&nbsp;&nbsp;
	    <input type="submit" value="下一步"/>
    </form>
  </body>
</html>

  selectExam.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
	<script type="text/javascript">
		function toPage(href) {
			document.forms[0].action = href;
			document.forms[0].submit();
		}
	</script>
  </head>
  
  <body>
	<div>选择课程-->选择班级-->选择考试-->选择试卷</div>
	<div>
		(${courseName })-->(${grade }--${classNo })-->(${examId })-->(${paperId })
	</div>
    <h3>选择考试</h3>
    <form action="selectPaper.action">
    	<input type="hidden" name="courseName" value="${courseName }"/>
    	<input type="hidden" name="grade" value="${grade }"/>
    	<input type="hidden" name="classNo" value="${classNo }"/>
	    examId: <input type="text" name="examId"/><br/>
	    <input type="button" onclick="toPage('selectClass.action');" value="上一步"/>&nbsp;&nbsp;
		<input type="submit" value="下一步"/>
    </form>
  </body>
</html>

  selectPaper.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
	<script type="text/javascript">
		function toPage(href) {
			document.forms[0].action = href;
			document.forms[0].submit();
		}
	</script>
  </head>
  
  <body>
	<div>选择课程-->选择班级-->选择考试-->选择试卷</div>
	<div>
		(${courseName })-->(${grade }--${classNo })-->(${examId })-->(${paperId })
	</div>
    <h3>选择试卷</h3>
    <form action="selectResult.action">
    	<input type="hidden" name="courseName" value="${courseName }"/>
    	<input type="hidden" name="grade" value="${grade }"/>
    	<input type="hidden" name="classNo" value="${classNo }"/>
    	<input type="hidden" name="examId" value="${examId }"/>
    	paperId: <input type="text" name="paperId" value="${paperId }"/><br/>
    	<input type="button" onclick="toPage('selectExam.action');" value="上一步"/>&nbsp;&nbsp;
    	<input type="submit" value="下一步"/>
    </form>
  </body>
</html>

  selectResult.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
	<script type="text/javascript">
		function toPage(href) {
			document.forms[0].action = href;
			document.forms[0].submit();
		}
	</script>
  </head>
  
  <body>
	<div>选择课程-->选择班级-->选择考试-->选择试卷</div>
	<div>
		(${courseName })-->(${grade }--${classNo })-->(${examId })-->(${paperId })
	</div>
    <h3>选择结果</h3>
    <form action="">
    	<input type="hidden" name="courseName" value="${courseName }"/>
    	<input type="hidden" name="grade" value="${grade }"/>
    	<input type="hidden" name="classNo" value="${classNo }"/>
    	<input type="hidden" name="examId" value="${examId }"/>
    	<input type="hidden" name="paperId" value="${paperId }"/>
    	<input type="button" onclick="toPage('selectPaper.action');" value="上一步"/>
    </form>
  </body>
</html>
 

------------------------------------------------------

总结:

1.对js不熟

document.forms[0].action='dddddd'可对form进行修改、提交等操作

2.隐藏域的灵活应用

------------------------------------------------------

 

分享到:
评论

相关推荐

    在多个页面传递jsp参数

    在多个页面传递jsp参数在多个页面传递jsp参数

    jquery uploadify 使用总结(含传递多个参数,服务器回传值等)

    更正笔误处 'arg1':'value1' 应为冒号,页面中写为逗号了. ...本文件中重点关注了,服务器向页面返回值及页面向后台传递多个参数的处理,以及一些兼容性.. 该案例为真实项目中遇到的问题,具有局限性,有不足这处请大家详解

    Web报表FineReport页面如何传递中文参数

    在用报表开发工具FineReport设计的web报表中,给iframe设置src嵌入某个报表时,往往会给报表传递初始的参数值,例如:

    JS控制静态页面之间传递参数获取参数并应用的简单实例

    1.a页面已经打开,b页面尚未打开,我希望在a页面设置好一些列参数,比如背景色,宽度等参数,传递给b页面,好让b页面在打开就能应用。 2.a页面已经打开,b页面无论是否打开。在a页面需要获取到b页面的一些元素甚至...

    jsp参数传递

    jsp中多个页面传输参数,超链接传输参数

    Android原生java语句 和html js互相调用 传递参数

    简单webview嵌套html文件,原生和js互相调用方法,互相传递参数并打印都页面上

    常用web数据传递

    JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数。对JSP、JAVASCRIPT、SERVLET之间数据传递的总结

    多个页面共享一套数据,父页面传递参数给子页面,数据缓存 ...

    多个页面共享一套数据一、加入数据,并使用类似node的方式传出接口二、在需要使用数据的页面的js中引入数据并使用父页面传递参数给子页面,然后进行对应的数据处理一、给父页面绑定一 ...       多个页面共享一套...

    uni-app如何页面传参数的几种方法总结

    主要介绍了uni-app如何页面传参数的几种方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    微信小程序页面传多个参数跳转页面的实现方法

    这里举例跳转两个参数 传递多少个也可以 这里传参数 我写作 data-item data-id 来绑定 同事加了点击事件bindtap 在index.js 在 data 里我写的是假数据 在跳转页面的函数里传e 后面定义的东西根据e来确定 可以在...

    纯html页面如何提交、传递参数、以及对身份进行验证

    2如何给页面传递参数 同一个调查问卷,多个人提交后,管理人员查看调查问卷,如何传递参数,保证看到的数据是指定某一个人的调查问卷。其实这个问题,在asp.net中使用最简单的查询字符串就可以解决,但在纯html中,...

    QT两个窗口传值

    QT两个窗口之间传值,打开一个子页面在子页面输入内容 再将内容传到父窗口

    navigator 跳转url传递参数,bindtap等事件传参

    id(参数名字)=要传递的值 (如果多个参数用&分开 &name=value&…….) (2)取值:options 是包含url地址中参数的对象,可以直接 点 获取。 (此图片来源于网络,如有侵权,请联系删除! ) 扩展 JS获取web页面地址栏中的...

    突破小程序向webview实时传递参数的限制

    小程序的坑很多,多得比马蜂窝还多。 其中之一就是小程序不能向内置的webview实时传参,因为只能通过url地址首次传递数过去。官方不开放接口看起来无可奈何。 但是世上无难事儿,只怕有心人,作为一个合格的程序员...

    PHP页面间参数传递的四种方法详解

    我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用。——————————————————————————–第一种:使用客户端浏览器的cookie。cookie很容易...

    微信小程序实现传递多个参数与事件处理

    开发过程中经常会遇到从一个页面携带数据到另一个页面的情况,所以需要知道以下信息,什么是事件?有哪些传递方式?如果传递数组呢?如果传递对象呢? 一、事件 什么是事件 事件是视图层到逻辑层的通讯方式 事件...

    springSecurity 实现传参

    springSecurity 实现登陆验证、传参,包括源代码和MYSQL的建库脚本。 传参的功能可以实现记录登陆之前打开的页面,登陆之后自动跳转到之前打开的页面。

    微信小程序页面间值传递的两种方法

     与前端语言一样,小程序页面间的传递可以通过在路由url后接参数,路由的同时会将参数一并传递到新的页面。 index.wxml: &lt;!--index.wxml--&gt; &lt;!-- 使用navigator组件 --&gt; ...

    jquery post方式传递多个参数值后台以数组的方式进行接收

    在用jquery的post方式传递多个值时,在后台页面可以用数组形式接收,很不错吧,可以接收多个值啊,接下来介绍实现方法,感兴趣的朋友可以了解下哦

    使用postMesssage()实现iframe跨域页面间的信息传递

    由于web同源策略的限制,当页面使用跨域iframe链接时,主页面与子页面是无法交互的,这对页面间的信息传递造成了不小的麻烦,经过一系列的尝试,最后我发现有以下方法可以实现: 1. 子页面url传参 简单说来就是把...

Global site tag (gtag.js) - Google Analytics