`
ln_ydc
  • 浏览: 271288 次
  • 性别: 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参数

    JSP几种页面间传递参数实现的方法

    jsp:param可以实现主页面向包含页面传递参数,如下:&lt;jsp:include page="Relative URL"&gt; &lt;jsp:param name="param name" value="paramvalue" /&gt; 还可以实现使用jsp:forward动作做页面跳转时传递参数,如下:...

    Silverlight页面跳转及页面间传递参数

    Silverlight应用程序通常由多个用户界面(UI)元素组成,这些元素可以通过不同的导航控件(如Frame或NavigationWindow)组织成“页面”。页面在Silverlight中不是独立的HTML文件,而是XAML文件,它们定义了UI布局和...

    frame之间以及子页面和父页面间参数传递

    ### Frame之间及子页面与父页面间的参数传递 在Web开发中,特别是在使用JSP(Java Server Pages)技术时,经常需要实现不同`frame`之间的数据交互或子页面与父页面之间的参数传递。这种功能在实际应用中非常常见,...

    页面跳转js获取传递的参数

    在Web开发过程中,页面间的跳转及参数传递是极为常见的需求之一。本文将详细介绍几种通过JavaScript实现页面跳转并获取传递参数的方法。 #### 方法一:使用`window.location.href` ```javascript // 通过修改当前...

    页面间参数传递

    如果多个查询页面共用一个结果页面,可以将结果页面作为基类,然后在每个查询页面继承这个基类。这样,结果页面可以通过基类的方法获取各个查询页面的数据,提高代码复用性。 总的来说,选择哪种页面间参数传递方法...

    不同页面间的参数传递

    Session变量提供了一种在多个页面间存储和传递数据的方式,它们存储在服务器端,因此比QueryString更安全。一旦设置了Session变量,就可以在同一个会话期间的所有页面上访问它们,直到会话结束或显式清除。 示例...

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

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

    opener实例页面之间传递参数

    这个方法接受两个参数:要打开的URL和新窗口的名称。例如: ```javascript var newWindow = window.open("child.jsp", "ChildWindow"); ``` 在这个例子中,"child.jsp"是子页面的URL,"ChildWindow"是新窗口的名称...

    页面之间传递参数

    此外,对于需要携带多个参数的复杂场景,还可以考虑使用 POST 请求或者 JavaScript AJAX 技术等其他方式来优化参数传递过程。总之,灵活运用各种技术手段可以有效提高 Web 应用的性能和易用性。

    JSP页面从一个页面传递一个参数到另外一个页面的方法

    ### JSP页面从一个页面传递一个参数到另外一个页面的方法 #### 概述 在Web开发中,特别是使用Java Server Pages(JSP)进行网站构建时,经常需要在不同的页面之间传递数据。这些数据可能包括用户的输入、表单提交...

    Androidstudio实现页面跳转和传递参数

    本篇文章将详细介绍如何在Android Studio中进行页面跳转并传递参数,以及如何利用Bundle对象来存储和恢复数据。 首先,页面跳转在Android中主要通过Intent对象来实现。Intent是一种用来表达应用程序之间意图的类,...

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

    在使用报表开发工具FineReport设计web报表时,经常需要嵌入iframe到页面中,并给iframe的src属性指定报表地址的同时传递参数值。在参数值、参数名称以及报表名称中,如果包含中文字符或特殊字符,直接传递可能会导致...

    html页面跳转传递参数Demo

    参数对之间使用`&`分隔,如果需要传递多个参数,可以继续添加。比如: ```html 多个参数跳转 ``` 三、JavaScript页面跳转 除了HTML的`&lt;a&gt;`标签,还可以使用JavaScript的`window.location`对象进行页面跳转。例如:...

    asp.net 页面间参数传递

    在ASP.NET中,页面间参数传递是Web应用程序中常见的需求,用于在多个页面之间共享数据。这通常是通过URL查询字符串、隐藏字段、视图状态、Session、Cookie、Application或者使用服务器端控件的属性来实现的。下面...

    Asp.net页面之间传递参数的几种方法荟萃

    Session对象允许在用户会话期间存储数据,适用于跨多个页面的持久化数据共享。在发送页面设置Session变量: ```csharp protected void Button1_Click(object sender, EventArgs e) { Session["username"] = "honge...

    wpf相互调用传递参数

    当在命令行中启动一个exe时,可以向其传递一个或多个参数,这些参数将在程序的Main方法中可用。 ```csharp // 在WPF应用程序的App.xaml.cs中 [STAThread] public static void Main(string[] args) { // args数组...

    HTML页面地址栏参数传递与获取

    在Web开发中,经常需要在不同页面间传递参数,以实现数据共享或状态保持等功能。传统的服务器端脚本如ASP可以通过表单(Form)的方式接收前端提交的数据。然而,除了这种方式外,还可以通过URL参数来传递数据给HTML...

    Asp.net页面之间传递参数的几种方法

    ### ASP.NET 页面间参数传递方法详解 在ASP.NET开发中,页面间的参数传递是一项非常重要的技术,它使得数据能够在不同的页面或控件间共享成为可能。本文将详细介绍几种常见的ASP.NET页面间参数传递方法,并对每种...

Global site tag (gtag.js) - Google Analytics