zoukankan      html  css  js  c++  java
  • JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例

    ¨JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为:
    ¨<jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件。
    ¨<jsp:setProperty>标签:用于在JSP页面中设置一个JavaBean组件的属性。

    <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>

  • 相关阅读:
    hdu1087Super Jumping! Jumping! Jumping!(dp)
    划分树 hdu4417Super Mario
    poj2240Arbitrage(map+floyd)
    hdu4282A very hard mathematic problem
    hdu1421搬寝室(dp)
    【洛谷P3806】【模板】点分治1
    【CF914E】Palindromes in a Tree
    GDOI2020 游记
    【POJ2296】Map Labeler
    【洛谷P6623】树
  • 原文地址:https://www.cnblogs.com/ly-radiata/p/4371570.html
Copyright © 2011-2022 走看看