`
CoderDream
  • 浏览: 477212 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Struts 1.3.8 学习笔记(五)

阅读更多

第五个版本,我们测试显示多种从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源代码。

  • 大小: 42.1 KB
0
0
分享到:
评论

相关推荐

    Struts 1.3.8 学习笔记(一)

    在实际开发中,学习 Struts 1.3.8 包括理解其核心概念、配置文件的编写、Action 类的设计、Form Beans 的使用以及 JSP 页面的开发。同时,熟悉其提供的标签库和错误处理机制也是必不可少的。对于那些对源码感兴趣的...

    Struts 1.3.8 学习笔记(二)

    总的来说,Struts 1.3.8 学习笔记会引导你掌握如何利用这个框架构建健壮、可维护的 Web 应用。通过学习 Struts 的核心概念、配置方式以及实践案例,你将能够有效地组织和管理应用程序的结构,提升开发效率。

    Struts 1.3.8 学习笔记(八)

    在博客 "Struts 1.3.8 学习笔记(八)" 中,可能涉及到了更深入的主题,如自定义拦截器(PlugIn)、异常处理、文件上传下载、数据库操作集成等。博主可能还分享了如何使用 Struts 工具进行调试、性能优化以及与 ...

    Struts 1.3.8 学习笔记(四)

    Struts 1.3.8 是 Apache ...总之,Struts 1.3.8 学习笔记会涵盖以上诸多方面,旨在帮助开发者掌握这个框架,提升 Web 应用的开发能力。对于初学者来说,理解并熟练运用这些知识点是迈进 Struts 开发世界的关键步骤。

    Struts 1.3.8 学习笔记(九)

    这篇学习笔记主要针对 Struts 1.3.8 版本进行深入探讨,通过讲解其核心概念、工作原理以及实际应用,帮助开发者更好地理解和使用这一框架。 首先,Struts 1.3.8 的主要特点包括: 1. **MVC架构**:Struts 将应用...

    Struts 1.3.8 学习笔记(三)

    这个版本的学习笔记主要集中在 Struts 框架的核心概念、架构和实际应用上。Struts 1 提供了一个MVC(Model-View-Controller)设计模式的实现,帮助开发者组织应用程序的逻辑,提高代码的可维护性和可扩展性。 在...

    Struts 1.3.8 学习笔记(七)

    本学习笔记将聚焦于 Struts 1.3.8 版本中的核心概念、组件以及在实际开发中的应用。 Struts 框架基于 Model-View-Controller (MVC) 设计模式,它简化了应用程序的结构,使得开发者可以更专注于业务逻辑,而不是底层...

    Struts 1.3.8 学习笔记(十)

    这个版本的学习笔记主要涵盖了 Struts 框架的核心概念、架构和实际应用。在这个版本中,Struts 已经相当成熟,提供了一套完整的 MVC(模型-视图-控制器)设计模式的实现,极大地简化了开发流程,提高了代码的可维护...

    Struts 1.3.8 学习笔记(六)

    在本学习笔记中,我们将深入探讨 Struts 1.3.8 的核心概念、功能以及实际应用。Struts 为开发者提供了构建动态 Web 应用程序的结构框架,简化了开发流程,增强了代码的可维护性和可扩展性。 首先,我们来了解 MVC ...

    spring学习笔记

    目录 1.1 Spring 框架学习路线:...........................................................................................................................4 1.2 Spring 框架的概述:...........................

Global site tag (gtag.js) - Google Analytics