第五个版本,我们测试显示多种从Action传到页面的对象,包括String,Bean,Map,List<String>,List<Bean>等等
这里主要包括Action中存储和jsp中显示
LoginAction.java
package com.coderdream.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Vector; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.coderdream.db.StudentDao; import com.coderdream.db.UserDao; import com.coderdream.form.LoginForm; import com.coderdream.vo.StudentView; import com.coderdream.vo.UserView; public class LoginAction extends Action { /** * 处理客户端请求 */ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // 得到客户的的提交数据 LoginForm lf = (LoginForm) form; UserDao userDao = new UserDao(); String userName = lf.getUserName(); String password = lf.getPassword(); UserView userView = new UserView(); userView.setUserName(userName); userView.setPassword(password); int result = userDao.queryUser(userName, password); // 业务调用 if (1 <= result) { StudentDao studentDao = new StudentDao(); List<StudentView> studentList = studentDao.quertAllStudent(); request.setAttribute("studentList", studentList); request.setAttribute("userView", userView); request.setAttribute("userName", userName); // 存放String的Map Map<String, String> stringMap = new HashMap<String, String>(); stringMap.put("Jan", "January"); stringMap.put("Feb", "February"); stringMap.put("Mar", "March"); stringMap.put("Apr", "April"); request.setAttribute("stringMap", stringMap); // 存放String和String数组的Map Map<String, String[]> stringMap2 = new HashMap<String, String[]>(); String vegetables[] = { "pepper", "cucumber" }; String fruits[] = { "apple", "orange", "banana", "cherry", "watermelon" }; String flowers[] = { "chrysanthemum", "rose" }; String trees[] = { "willow" }; stringMap2.put("Vegetables", vegetables); stringMap2.put("Fruits", fruits); stringMap2.put("Flowers", flowers); stringMap2.put("Trees", trees); request.setAttribute("stringMap2", stringMap2); // Vector<String> animals = new Vector<String>(); animals.addElement("Dog"); animals.addElement("Cat"); animals.addElement("Bird"); animals.addElement("Chick"); request.setAttribute("animals", animals); // 存放String的List List<String> stringList = new ArrayList<String>(); stringList.add("abc"); stringList.add("edf"); stringList.add("ghi"); stringList.add("jkl"); request.setAttribute("stringList", stringList); // 用户名密码验证成功,跳转到成功页面 return mapping.findForward("success"); } else { // 用户名密码错误,跳转到失败页面 return mapping.findForward("failing"); } } }
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ 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"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录成功</title> </head> <body> 用户登录成功! <br> 对象方式: <logic:present name="userView" scope="request"> <bean:write name="userView" property="userName" /> </logic:present> <br> <br> 属性方式: <bean:write name="userName" scope="request" /> <hr> <logic:iterate id="element" indexId="ind" name="stringMap"> <bean:write name="ind" /> <bean:write name="element" property="key" /> <bean:write name="element" property="value" /> <br> </logic:iterate> <hr> <logic:iterate id="element" indexId="ind" name="stringMap2"> <bean:write name="ind" /> <bean:write name="element" property="key" /> <br> <logic:iterate id="elementValue" name="element" property="value" length="3" offset="1"> ------<bean:write name="elementValue" /> <br> </logic:iterate> </logic:iterate> <hr> <logic:iterate id="element" name="animals"> <bean:write name="element" /> <br> </logic:iterate> <hr> <logic:iterate id="element" indexId="index" name="animals" offset="1" length="2"> <bean:write name="index" />.<bean:write name="element" /> <br> </logic:iterate> <hr> <logic:iterate id="element" indexId="index" name="stringList"> <bean:write name="index" />.<bean:write name="element" /> <br> </logic:iterate> <hr> <logic:iterate id="studentView" indexId="index" name="studentList"> <bean:write name="studentView" property="no" />. <bean:write name="studentView" property="name" />. <bean:write name="studentView" property="sex" />. <bean:write name="studentView" property="age" />. <bean:write name="studentView" property="dept" /> <br> </logic:iterate> </body> </html:html>
代码说明
这里主要看一下List<Bean>的代码,很多书上都没有!
运行结果
另外附上孙卫琴的第二章的Demo源代码。
相关推荐
在实际开发中,学习 Struts 1.3.8 包括理解其核心概念、配置文件的编写、Action 类的设计、Form Beans 的使用以及 JSP 页面的开发。同时,熟悉其提供的标签库和错误处理机制也是必不可少的。对于那些对源码感兴趣的...
总的来说,Struts 1.3.8 学习笔记会引导你掌握如何利用这个框架构建健壮、可维护的 Web 应用。通过学习 Struts 的核心概念、配置方式以及实践案例,你将能够有效地组织和管理应用程序的结构,提升开发效率。
在博客 "Struts 1.3.8 学习笔记(八)" 中,可能涉及到了更深入的主题,如自定义拦截器(PlugIn)、异常处理、文件上传下载、数据库操作集成等。博主可能还分享了如何使用 Struts 工具进行调试、性能优化以及与 ...
Struts 1.3.8 是 Apache ...总之,Struts 1.3.8 学习笔记会涵盖以上诸多方面,旨在帮助开发者掌握这个框架,提升 Web 应用的开发能力。对于初学者来说,理解并熟练运用这些知识点是迈进 Struts 开发世界的关键步骤。
这篇学习笔记主要针对 Struts 1.3.8 版本进行深入探讨,通过讲解其核心概念、工作原理以及实际应用,帮助开发者更好地理解和使用这一框架。 首先,Struts 1.3.8 的主要特点包括: 1. **MVC架构**:Struts 将应用...
这个版本的学习笔记主要集中在 Struts 框架的核心概念、架构和实际应用上。Struts 1 提供了一个MVC(Model-View-Controller)设计模式的实现,帮助开发者组织应用程序的逻辑,提高代码的可维护性和可扩展性。 在...
本学习笔记将聚焦于 Struts 1.3.8 版本中的核心概念、组件以及在实际开发中的应用。 Struts 框架基于 Model-View-Controller (MVC) 设计模式,它简化了应用程序的结构,使得开发者可以更专注于业务逻辑,而不是底层...
这个版本的学习笔记主要涵盖了 Struts 框架的核心概念、架构和实际应用。在这个版本中,Struts 已经相当成熟,提供了一套完整的 MVC(模型-视图-控制器)设计模式的实现,极大地简化了开发流程,提高了代码的可维护...
在本学习笔记中,我们将深入探讨 Struts 1.3.8 的核心概念、功能以及实际应用。Struts 为开发者提供了构建动态 Web 应用程序的结构框架,简化了开发流程,增强了代码的可维护性和可扩展性。 首先,我们来了解 MVC ...
目录 1.1 Spring 框架学习路线:...........................................................................................................................4 1.2 Spring 框架的概述:...........................