JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例
<jsp:getProperty>标签:用于在JSP页面中获取一个JavaBean组件的属性
一、计算器的实体Bean
package web13.domain;
public class Calculator {
private double firstNum;
private double secondNum;
private String oper;
private double result;
public Calculator() {
super();
// TODO Auto-generated constructor stub
}
public Calculator(double firstNum, double secondNum, String oper,
double result) {
super();
this.firstNum = firstNum;
this.secondNum = secondNum;
this.oper = oper;
this.result = result;
}
public double getFirstNum() {
return firstNum;
}
public void setFirstNum(double firstNum) {
this.firstNum = firstNum;
}
public double getSecondNum() {
return secondNum;
}
public void setSecondNum(double secondNum) {
this.secondNum = secondNum;
}
public String getOper() {
return oper;
}
public void setOper(String oper) {
this.oper = oper;
}
public void calculator(){
if("+".equals(oper)){
result=firstNum+secondNum;
}else if("-".equals(oper)){
result=firstNum-secondNum;
}else if("*".equals(oper)){
result=firstNum*secondNum;
}else if("/".equals(oper)){
result=firstNum/secondNum;
}
}
public double getResult() {
calculator();
return result;
}
public void setResult(double result) {
this.result = result;
}
}
二、jsp页面(cal.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
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>My JSP 'cal.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<div>
<jsp:useBean id="c" scope="request" class="web13.domain.Calculator"></jsp:useBean>
<jsp:setProperty property="firstNum" name="c" param="firstNum"/>
<jsp:setProperty property="secondNum" name="c" param="secondNum"/>
<jsp:setProperty property="oper" name="c" param="oper"/>
<c:if test="${c.oper!=null }">计算结果:
<jsp:getProperty property="firstNum" name="c"/>
<jsp:getProperty property="oper" name="c"/>
<jsp:getProperty property="secondNum" name="c"/>=
<jsp:getProperty property="result" name="c"/>
</c:if>
<form action="./cal.jsp" method="post">
<table>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2">简单计算器</td>
</tr>
<tr>
<td>第一个参数</td>
<td><input type="text" name="firstNum"/></td>
</tr>
<tr>
<td>操作数</td>
<td>
<select name="oper">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
</td>
</tr>
<tr>
<td>第二个参数</td>
<td><input type="text" name="secondNum"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="计算"/></td>
</tr>
</table>
</form>
</div>
</body>
</html>
JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例的更多相关文章
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- javaweb学习总结(二十)——JavaBean总结
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...
- JavaWeb学习记录(十二)——商城购物之数据库操作的接口定义
一.基本接口,该项目中所有接口都继承它 package blank.dao; import java.util.List; public interface BaseDao<T,PK> { ...
- javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
一.JspFragment类介绍 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段符合JSP语法规范的JSP片段, ...
- javaweb学习总结(二十五)——jsp简单标签开发(一)
一.简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单.便于编 ...
- javaweb学习总结(二十四)——jsp传统标签开发
一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属 ...
- javaweb学习总结二十五(response对象的用法一)
一:Reponse对象的概念 当客户端发送http请求时,服务器端会对每一次请求,创建request对象和response对象. response对象包括三个部分:响应头.响应状态码以及响应体 二:r ...
- javaweb学习总结(二十八)——JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- JavaWeb学习(二十九)———— 事务
一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句 update from account set mone ...
- javaweb学习总结(二十九)——EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
随机推荐
- my class 2.0
www.dropbox.com www.google.com/voice www.prezi.com www.evernote.com
- 关押罪犯(noip2010)
解法: (1)搜索(30分) (2)二分(此题属于最大值最小问题) (3)贪心+并查集 下面着重说一下“贪心+并查集” 因为有A.B两座监狱,每个犯人不是在A,就是在B监狱. 至于每个犯人在那个监狱, ...
- STM32下载显示target dll has been cancelled
使用MDK 4.74向STM32下载时出现各种错误,而且时隐时现, Internal command error.Error:Flash download failed. Target DLL has ...
- vector 初始化
//数组初始化vector int iarray[]={1,2,3,4,5,6,7,8,9,0}; //count: iarray数组个数 size_t count=sizeof(iarray)/si ...
- 深入分析:Fragment与Activity交互的几种方式(一,使用Handler)
这里我不再详细介绍那写比较常规的方式,例如静态变量,静态方法,持久化,application全局变量,收发广播等等. 首先我们来介绍使用Handler来实现Fragment与Activity 的交互. ...
- Ubuntu 升级VisualBox后无法启动 Kernel driver not installed (rc=-1908)
VisualBox之所以在Linux上比传统的VMware快得多,关键一点就是它和Linux内核的结合比较紧密,这也是开源的优点. 不过Linux内核更新很频繁,每次更新内核后启动VirtualBox ...
- Python _ 开始介绍对象
Python的私有变量,函数是在前面加上一个双下划线'__'来声明的,气访问和C++大同小异 例如 class Person: __name='小甲鱼' def print1(self): # 和 c ...
- python3爬虫初探(四)之文件保存
接着上面的写,抓取到网址之后,我们要把图片保存到本地,这里有几种方法都是可以的. #-----urllib.request.urlretrieve----- import urllib.request ...
- Squid代理之透明代理
二.透明代理 1.检测squid是否安装
- Reason we use Camel
Camel is mainly for integration purpose, in our project we also use it inside the single component t ...