(1)编写index.jsp页面,用于收集投票信息

<%@ page language="java" pageEncoding="GBK"%>
<%
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%>"> <title>应用EL表达式显示投票结果</title>
<link rel="stylesheet" type="text/css" href="CSS/style.css"> </head> <body><form name="form1" method="post" action="PollServlet">
<table width="403" height="230" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#666666">
<tr>
<td height="30" bgcolor="#EFEFEF">·您最需要哪方面的编程类图书?</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"> <input name="item" type="radio" class="noborder" value="基础教程类" checked>
基础教程类</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"> <input name="item" type="radio" class="noborder" value="实例集锦类">
实例集锦类 </td>
</tr>
<tr>
<td bgcolor="#FFFFFF"> <input name="item" type="radio" class="noborder" value="经验技巧类">
经验技巧类</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"> <input name="item" type="radio" class="noborder" value="速查手册类">
速查手册类</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"> <input name="item" type="radio" class="noborder" value="案例剖析类">
案例剖析类</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">
<input name="Submit" type="submit" class="btn_grey" value="投票">
&nbsp;
<input name="Submit2" type="button" class="btn_grey" value="查看投票结果" onClick="window.location.href='showResult.jsp'"></td>
</tr>
</table>
</form>
</body>
</html>

界面如下:

(2)编写投票功能的Servlet

package com.wuyudong.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.*; import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class PollServlet extends HttpServlet {
private static final long serialVersionUID = -7264414153802032772L; /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { request.setCharacterEncoding("GBK"); // 设置请求的编码方式
String item = request.getParameter("item"); // 获取投票项
ServletContext servletContext = request.getSession()
.getServletContext(); // 获取ServletContext对象该对象在application范围内有效 Map map = null;
if (servletContext.getAttribute("pollResult") != null) {
map = (Map) servletContext.getAttribute("pollResult"); // 获取投票结果
map.put(item, Integer.parseInt(map.get(item).toString()) + 1); // 将当前的投票项加1
} else { // 初始化一个保存投票信息的Map集合,并将选定投票项的投票数设置为1,其他为0
String[] arr = { "基础教程类", "实例集锦类", "经验技巧类", "速查手册类", "案例剖析类" };
map = new HashMap();
for (int i = 0; i < arr.length; i++) {
if (item.equals(arr[i])) { // 判断是否为选定的投票项
map.put(arr[i], 1);
} else {
map.put(arr[i], 0);
}
}
}
servletContext.setAttribute("pollResult", map); // 保存投票结果到ServletContext对象中
response.setCharacterEncoding("GBK"); // 设置响应的编码方式,如果不设置弹出的对话框中的文字将乱码
PrintWriter out = response.getWriter();
out.println("<script>alert('投票成功!');window.location.href='showResult.jsp';</script>"); } }

(3)编写showResult.jsp页面

<%@ page language="java" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>显示示投票结果页面</title>
<link rel="stylesheet" type="text/css" href="CSS/style.css"> </head> <body>
<table width="403" height="230" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#666666">
<tr>
<td height="30" colspan="2" bgcolor="#EFEFEF">·您最需要哪方面的编程类图书?</td>
</tr>
<tr>
<td width="79" align="center" bgcolor="#FFFFFF"> 基础教程类</td>
<td width="321" bgcolor="#FFFFFF">&nbsp;<img src="bar.gif" width='${220*(applicationScope.pollResult["基础教程类"]/(applicationScope.pollResult["基础教程类"]+applicationScope.pollResult["实例集锦类"]+applicationScope.pollResult["经验技巧类"]+applicationScope.pollResult["速查手册类"]+applicationScope.pollResult["案例剖析类"]))}' height="13">
(${empty applicationScope.pollResult["基础教程类"]? 0 :applicationScope.pollResult["基础教程类"]})</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"> 实例集锦类 </td>
<td bgcolor="#FFFFFF">&nbsp;<img src="bar.gif" width='${220*(applicationScope.pollResult["实例集锦类"]/(applicationScope.pollResult["基础教程类"]+applicationScope.pollResult["实例集锦类"]+applicationScope.pollResult["经验技巧类"]+applicationScope.pollResult["速查手册类"]+applicationScope.pollResult["案例剖析类"]))}' height="13">
(${empty applicationScope.pollResult["实例集锦类"] ? 0 :applicationScope.pollResult["实例集锦类"]})</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"> 经验技巧类</td>
<td bgcolor="#FFFFFF">&nbsp;<img src="bar.gif" width='${220*(applicationScope.pollResult["经验技巧类"]/(applicationScope.pollResult["基础教程类"]+applicationScope.pollResult["实例集锦类"]+applicationScope.pollResult["经验技巧类"]+applicationScope.pollResult["速查手册类"]+applicationScope.pollResult["案例剖析类"]))}' height="13">
(${empty applicationScope.pollResult["经验技巧类"] ? 0 :applicationScope.pollResult["经验技巧类"]})</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"> 速查手册类</td>
<td bgcolor="#FFFFFF">&nbsp;<img src="bar.gif" width='${220*(applicationScope.pollResult["速查手册类"]/(applicationScope.pollResult["基础教程类"]+applicationScope.pollResult["实例集锦类"]+applicationScope.pollResult["经验技巧类"]+applicationScope.pollResult["速查手册类"]+applicationScope.pollResult["案例剖析类"]))}' height="13">
(${empty applicationScope.pollResult["速查手册类"] ? 0 : applicationScope.pollResult["速查手册类"]})</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"> 案例剖析类</td>
<td bgcolor="#FFFFFF">&nbsp;<img src="bar.gif" width='${220*(applicationScope.pollResult["案例剖析类"]/(applicationScope.pollResult["基础教程类"]+applicationScope.pollResult["实例集锦类"]+applicationScope.pollResult["经验技巧类"]+applicationScope.pollResult["速查手册类"]+applicationScope.pollResult["案例剖析类"]))}' height="13">
(${empty applicationScope.pollResult["案例剖析类"] ? 0 :applicationScope.pollResult["案例剖析类"]})</td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#FFFFFF">
合计:${applicationScope.pollResult["基础教程类"]+applicationScope.pollResult["实例集锦类"]+applicationScope.pollResult["经验技巧类"]+applicationScope.pollResult["速查手册类"]+applicationScope.pollResult["案例剖析类"]}人投票!
<input name="Button" type="button" class="btn_grey" value="返回" onClick="window.location.href='index.jsp'"></td>
</tr>
</table>
</body>
</html>
l>

最后运行界面如下:

实战2--应用EL表达式显示投票结果的更多相关文章

  1. 实战1--应用EL表达式访问JavaBean的属性

    (1)编写index.jsp页面,用来收集用户的注册信息 <%@ page language="java" pageEncoding="GBK"%> ...

  2. EL表达式显示数据取整问题

    第一 插入fmt标签库 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%&g ...

  3. 实战3--应用EL表达式判断用户登录信息

    1.判断用户名是否为空,空则显示提示信息 (1)编写index.jsp页面 <%@ page language="java" contentType="text/h ...

  4. 如何将数据库中的值经过servlet传入到jsp页面,并且用EL表达式显示出值

    方法一:通过id查询某一数据库表中具体的行,将值封装在相应的对象中,如下面的对象Notice servlet中 String noticeId=request.getParameter("n ...

  5. 关于在JSP页面识别不了EL表达式的情况

    今天在JSP页面接收Controller返回的数据user_nickname,使用EL表达式显示数据发现在页面输出的始终是字符串${user_nickname} 经过查阅资料,问题在于使用的web.x ...

  6. Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库

    一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...

  7. Spring Model存储值在jsp EL表达式中不能正确显示(原样显示)问题

    这几天我搭了一个SpringMvc环境,写了一个Controller,并且Controller里面有一个很简单的映射到jsp页面的方法,如下: 这里的Map<String,String>其 ...

  8. 【JSP EL】EL表达式里日期按照格式显示

    转:http://blog.csdn.net/kaishuaige/article/details/8505174 JSP页面用EL表达式 输出date格式     1.头上引入标签 <%@ t ...

  9. springmvc maven 入门及页面拿不到controller的值 显示${message} el表达式不起作用

    1:参考https://www.cnblogs.com/zhuawang/p/5651896.html 操作完,运行,结果不是后端控制器controller返回的,是index.jsp中的. 因为执行 ...

随机推荐

  1. 在android中如何通过点击edittext之外的部分使软键盘隐藏

    我们知道在android中点击edittext框就会自动弹出软键盘,那怎么通过点击edittext之外的部分使软键盘隐藏呢?(微信聊天时的输入框就是这个效果,这个给用户的体验还是很不错的) 首先我们要 ...

  2. 斐波那契堆(三)之 Java的实现

    概要 前面分别通过C和C++实现了斐波那契堆,本章给出斐波那契堆的Java版本.还是那句老话,三种实现的原理一样,择其一了解即可. 目录1. 斐波那契堆的介绍2. 斐波那契堆的基本操作3. 斐波那契堆 ...

  3. [OpenCV] Feature Matching

    得到了杂乱无章的特征点后,要筛选出好的特征点,也就是good matches. BruteForceMatcher FlannBasedMatcher 两者的区别:http://yangshen998 ...

  4. 【转载】Linux下编辑生成.mo文件

    转载自:http://www.hackbase.com/tech/2012-02-27/65972.html 编辑生成.mo文件 我们在弄网站的时候很可能会接触到.mo和.po文件..po文件是GNU ...

  5. Hadoop第7周练习—MapReduce进行数据查询和实现推简单荐系统

    1.1 1.2 :计算员工相关 2.1 内容 :求各个部门的总工资 :求各个部门的人数和平均工资 :求每个部门最早进入公司的员工姓名 :求各个城市的员工的总工资 :列出工资比上司高的员工姓名及其工资 ...

  6. Win7以上 32/64位系统隐藏托盘图标

    前两天有朋友找我,让帮忙写个小工具,隐藏windows的托盘图标,想想最近在家也不想做太复杂的事,也好几年没写过windows上的小工具了,就答应了.想来挺简单的事,没想到还是有点小插曲的.特地来博客 ...

  7. 远程方法调用(RMI)原理与示例

    RMI介绍 远程方法调用(RMI)顾名思义是一台机器上的程序调用另一台机器上的方法.这样可以大致知道RMI是用来干什么的,但是这种理解还不太确切.RMI是Java支撑分布式系统的基石,例如著名的EJB ...

  8. 连接不上mysqlworkbench问题解决方法

    连接mysqlworkbench出现如下提示:     查看ip     加入host的范围 mysql> select user,host from mysql.user;+--------- ...

  9. WebApi 登录身份验证

    前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权 ...

  10. OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)

    公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...