【实例】表单跨页(内容在一个ActionForm)中保存
来源:互联网 发布:java下载 编辑:程序博客网 时间:2024/05/01 20:52
有两个表单,第一个表单输入账号密码,点击提交,到下一个表单输入年龄,生日,学历,要求将这些内容在一个ActionForm里面保存
1.建立ActionForm,生成page1和page2
2.配置一个ForwardAction,指向ActionForm,跳转到page1,让page2提交给它。
3.配置另一个Action,指向同一个ActionForm,让page2提交给它
4.注意:scope应该等于Session
5.扩充部分
5.1填写完表单后,在page2打印输入提交表单的内容(自己弄的,使用HttpSession做的)
5.2填写表单数据时,对中文出现乱码进行了改进
部分代码如下:
page1代码
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>注册页面page_1</title> </head> <body> <h1><font size=10 color=blue>注册页面page_1</font></h1> <html:form action="/P1To2" style="clear:both">请输入账号:<html:text property="account"/><br/><br/>请输入密码:<html:text property="passWord"/><br/><!--跨页表单需要一个隐藏域--><html:hidden property="page" value="1" /><html:submit value="跳转到第二页"/><html:cancel value="退出"/></html:form> </body></html>
page2代码
<%@ page language="java" pageEncoding="gb2312"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%><%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%><html> <head><title>注册页面page_2</title> </head> <body> <h1><font size=10 color=blue>注册页面page_2</font></h1> <html:form action="/p1ToP2" style="clear:both">请输入年龄:<html:text property="age"/><br/><br/>请输入您的生日:<html:text property="bir"/><br/><br/>请输入您的学历:<html:text property="edu"/><br/><br/><html:hidden property="page" value="2" /><html:submit value="注册完成"/><html:cancel value="取消"/></html:form><hr/><logic:present name="doc"><logic:iterate id="account" name="doc"><bean:write name="account"/><br/></logic:iterate></logic:present> </body></html>
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */package p1ToP2;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionMapping;public class P1ToP2Form extends ActionForm {private String bir;private String age;private String edu;private String account;private String passWord;private String page;public String getPage() {return page;}public void setPage(String page) {this.page = page;}public String getBir() {return bir;}public void setBir(String bir) {this.bir = bir;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getEdu() {return edu;}public void setEdu(String edu) {this.edu = edu;}public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;}public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {//表单验证时候,使用隐藏域if(page.equals("1")){if(account.length()==0){}if(passWord.length()==0){}}if(page.equals("2")){if(age.length()==0){}if(bir.length()==0){}if(edu.length()==0){}}return null;}public void reset(ActionMapping mapping, HttpServletRequest request) {// TODO Auto-generated method stub}}
Action部分(P1ToP2Action.java)
package p1ToP2;import java.util.ArrayList;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;public class P1ToP2Action extends Action {public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {P1ToP2Form P1ToP2 =(P1ToP2Form)form;String account = P1ToP2.getAccount();String password = P1ToP2.getPassWord(); String age = P1ToP2.getAge();String bir = P1ToP2.getBir();String edu = P1ToP2.getEdu();//System.out.println(P1ToP2.getAccount());try {account = new String(account.getBytes("ISO-8859-1"));password = new String(password.getBytes("ISO-8859-1"));age = new String(age.getBytes("ISO-8859-1"));bir = new String(bir.getBytes("ISO-8859-1"));edu = new String(edu.getBytes("ISO-8859-1"));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}HttpSession session = request.getSession();ArrayList doc =(ArrayList)request.getAttribute("doc");if(doc==null){doc = new ArrayList();session.setAttribute("doc", doc);}doc.add(account);doc.add(password);doc.add(age);doc.add(bir);doc.add(edu);return new ActionForward("/page2.jsp");}}
struts-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config> <data-sources /> <form-beans > <form-bean name="p1ToP2Form" type="p1ToP2.P1ToP2Form" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action forward="/page2.jsp" path="/P1To2" scope="session" name="p1ToP2Form"/> <action path="/p1ToP2" name="p1ToP2Form" type="p1ToP2.P1ToP2Action" scope="session"/> </action-mappings> <message-resources parameter="p1ToP2.ApplicationResources" /></struts-config>
0 0
- 【实例】表单跨页(内容在一个ActionForm)中保存
- 如何在一个文本文档中保存目录信息
- 在VC中保存图标
- 在VC中保存图标
- 在SESSION中保存值
- 在数据库中保存会话
- 在matlab中保存图像
- 在数据库中保存数据
- 在一个类中保存多个类的实例对象
- AnyPref,可直接在SharedPreferences中保存对象实例的SharedPreferences工具类
- 在Excel表格中,通过公式查询数据并在另外一个文档中保存
- PHP:怎样在 _SESSION 中保存 object
- 在access中保存使用对象(Object)
- 在emf 中保存特殊字符
- 在emf 中保存特殊字符
- 在emf 中保存特殊字符
- 在emf 中保存特殊字符
- 在SQLServer中保存和输出图片
- winchill磁盘文件与document的映射关系在数据库中的体现
- 带上放心回家过年
- 由于html的id不能重复,所以不得不用的时候得创建一个随机的动态id
- CB的PageControl控件动态删除TABSHEET
- 自己理解的游戏开发
- 【实例】表单跨页(内容在一个ActionForm)中保存
- 101 个 MySQL 的调节和优化的提示
- DLL文件——让我来管理(一)
- oracle 错误ORA-27300: OS system dependent operation:semctl failed with status: 22 ORA-00600: internal
- TCP序列号和确认号详解
- 创建Material Design风格的Android应用--应用主题
- 自制全铝CNC雕刻机全过程(完工篇)
- 一个国内的 ngrok 服务器
- HDU2444 The Accomodation of Students(二分匹配 匈牙利算法)