问题描述:
有多个页面,(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="重置"/>
<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="上一步"/>
<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="上一步"/>
<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="上一步"/>
<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:param可以实现主页面向包含页面传递参数,如下:<jsp:include page="Relative URL"> <jsp:param name="param name" value="paramvalue" /> 还可以实现使用jsp:forward动作做页面跳转时传递参数,如下:...
Silverlight应用程序通常由多个用户界面(UI)元素组成,这些元素可以通过不同的导航控件(如Frame或NavigationWindow)组织成“页面”。页面在Silverlight中不是独立的HTML文件,而是XAML文件,它们定义了UI布局和...
### Frame之间及子页面与父页面间的参数传递 在Web开发中,特别是在使用JSP(Java Server Pages)技术时,经常需要实现不同`frame`之间的数据交互或子页面与父页面之间的参数传递。这种功能在实际应用中非常常见,...
在Web开发过程中,页面间的跳转及参数传递是极为常见的需求之一。本文将详细介绍几种通过JavaScript实现页面跳转并获取传递参数的方法。 #### 方法一:使用`window.location.href` ```javascript // 通过修改当前...
如果多个查询页面共用一个结果页面,可以将结果页面作为基类,然后在每个查询页面继承这个基类。这样,结果页面可以通过基类的方法获取各个查询页面的数据,提高代码复用性。 总的来说,选择哪种页面间参数传递方法...
Session变量提供了一种在多个页面间存储和传递数据的方式,它们存储在服务器端,因此比QueryString更安全。一旦设置了Session变量,就可以在同一个会话期间的所有页面上访问它们,直到会话结束或显式清除。 示例...
更正笔误处 'arg1':'value1' 应为冒号,页面中写为逗号了. ...本文件中重点关注了,服务器向页面返回值及页面向后台传递多个参数的处理,以及一些兼容性.. 该案例为真实项目中遇到的问题,具有局限性,有不足这处请大家详解
这个方法接受两个参数:要打开的URL和新窗口的名称。例如: ```javascript var newWindow = window.open("child.jsp", "ChildWindow"); ``` 在这个例子中,"child.jsp"是子页面的URL,"ChildWindow"是新窗口的名称...
此外,对于需要携带多个参数的复杂场景,还可以考虑使用 POST 请求或者 JavaScript AJAX 技术等其他方式来优化参数传递过程。总之,灵活运用各种技术手段可以有效提高 Web 应用的性能和易用性。
### JSP页面从一个页面传递一个参数到另外一个页面的方法 #### 概述 在Web开发中,特别是使用Java Server Pages(JSP)进行网站构建时,经常需要在不同的页面之间传递数据。这些数据可能包括用户的输入、表单提交...
本篇文章将详细介绍如何在Android Studio中进行页面跳转并传递参数,以及如何利用Bundle对象来存储和恢复数据。 首先,页面跳转在Android中主要通过Intent对象来实现。Intent是一种用来表达应用程序之间意图的类,...
在使用报表开发工具FineReport设计web报表时,经常需要嵌入iframe到页面中,并给iframe的src属性指定报表地址的同时传递参数值。在参数值、参数名称以及报表名称中,如果包含中文字符或特殊字符,直接传递可能会导致...
参数对之间使用`&`分隔,如果需要传递多个参数,可以继续添加。比如: ```html 多个参数跳转 ``` 三、JavaScript页面跳转 除了HTML的`<a>`标签,还可以使用JavaScript的`window.location`对象进行页面跳转。例如:...
在ASP.NET中,页面间参数传递是Web应用程序中常见的需求,用于在多个页面之间共享数据。这通常是通过URL查询字符串、隐藏字段、视图状态、Session、Cookie、Application或者使用服务器端控件的属性来实现的。下面...
Session对象允许在用户会话期间存储数据,适用于跨多个页面的持久化数据共享。在发送页面设置Session变量: ```csharp protected void Button1_Click(object sender, EventArgs e) { Session["username"] = "honge...
当在命令行中启动一个exe时,可以向其传递一个或多个参数,这些参数将在程序的Main方法中可用。 ```csharp // 在WPF应用程序的App.xaml.cs中 [STAThread] public static void Main(string[] args) { // args数组...
### ASP.NET 页面间参数传递方法详解 在ASP.NET开发中,页面间的参数传递是一项非常重要的技术,它使得数据能够在不同的页面或控件间共享成为可能。本文将详细介绍几种常见的ASP.NET页面间参数传递方法,并对每种...
**目的**:创建一个新的ASP页面(例如`redirection.asp`),用于接收传递的两个参数,并根据放行日期进行条件判断,从而决定重定向到哪个页面。 **代码示例**: ```vbscript dim cid, cdat cid = request("car_id...