–jsp:useBean
–jsp:setProperty
–jsp:getProperty
–jsp:forward
–jsp:include
–jsp:param
–实例

?计算器
------------------------------------------------------------------------
? jsp:useBean
–格式
? <jsp:useBean id="name" class="package.Class" />
–目的
? 不需用到显式的Java编程就能够创建Java类的实例
–注意
? 简单来说
–<jsp:useBean id="book1" class=“com.amaker.Book" />
? 可以认为等同于下面的scriptlet
–<% coreservlets.Book book1 = new com.amaker.Book(); %>
–但jsp:useBean拥有下面两项额外的优势
? 从请求参数中导出对象的值更容易
? 在页面和servlet间共享对象更容易
User.java 
TestUseBean.jsp
测试:
下面我们使用动作元素jsp:useBean来实现哈~
TestUseBean.jsp
测试:
 
? jsp:setProperty
–格式 ? <jsp:setProperty name="name“ property="property“ value="value"
/>
–目的 ? 不需用到显式的Java编程就可以设置bean的属性(即调用setXxx方法)
–注意 ? <jsp:setProperty name="book1“ property="title“ value=“amaker JSP" />
–等价于下面的scriptlet
? <% book1.setTitle(“Java Web Dev!"); %>
? jsp:getProperty
–格式
? <jsp:getProperty name="name" property="property" />
–目的
? 不需用到显式的Java编程就可以访问bean的属性(即调用getXxx
方法)
–注意
? <jsp:getProperty name="book1" property="title" />
–等价于下面的JSP表达式
? <%= book1.getTitle() %>
下面我们通过请求参数来获取
login.jsp
TestUseBean.jsp
测试:
同样我们也可以用param获取参数
TestUseBean.jsp
测试:
–jsp:forward
?转发请求到指定文件
?语法
–<jsp:forward page=“URL”/>
?例如
–<jsp:forward page=“/result.jsp” />
login.jsp
process.jsp
测试:
帐号michael跳转到成功页面。
非michael帐号跳转到失败页面。
? jsp:include
–在页面中动态包含文件
–语法
? <jsp:include page=“URL” flush=“true”/>
–例如
? <jsp:include page=“header.jsp”flush=“true”/>
TestJspInclude.jsp
include.jsp
测试:
 
? jsp:param
–获得请求参数
TestJspInclude.jsp
include.jsp
测试:
–实例
?计算器
Calculator.jsp
 
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>    
<%@page import="com.michael.jsp.CalculatorBean"%>    
<%    
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 'Calculator.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>    
        <form name="f1" id="f1" action="<%=path %>/Calculator.jsp" method="post">    
        <jsp:useBean id="cb" class="com.michael.jsp.CalculatorBean"></jsp:useBean>    
        <jsp:setProperty property="*" name="cb"/>    
         <hr>    
            计算结果:<%    
            if(cb.getOperator()!=null){    
                    try{    
                            out.println(cb.getFirst()+cb.getOperator()+cb.getSecond()+"="+cb.getResult());    
                    }catch(Exception e){    
                    }    
            }else{    
                    out.println("请输入!");    
            }    
            %>    
            <hr>    
            <table border="0">    
             <tr>    
                    <td>第一个数:</td>    
                    <td><input type="text" name="first"></td>    
                </tr>    
                <tr>    
                <td>操作符:</td>    
                <td>    
                        <select name="operator">    
                                <option value="+">+</option>    
                                <option value="-">-</option>    
                                <option value="*">*</option>    
                                <option value="/">/</option>    
                        </select>    
                </td>    
                </tr>    
                <tr>    
                    <td>第二个数:</td>    
                    <td><input type="text" name="second"></td>    
                </tr>    
                <tr>    
                    <td colspan="2" align="center"><input type="submit" value="计算"></td>    
                </tr>    
            </table>    
        </form>    
    </body>    
</html>

CalculatorBean.java
package com.michael.jsp;    
public class CalculatorBean {    
        private double first;    
        private double second;    
        private double result;    
        private String operator;    
        public double getFirst() {    
                return first;    
        }    
        public void setFirst(double first) {    
                this.first = first;    
        }    
        public double getSecond() {    
                return second;    
        }    
        public void setSecond(double second) {    
                this.second = second;    
        }    
        public double getResult() {    
                try {    
                        if(operator!=null){    
                                if(operator.equals("+")){    
                                        result = first + second;    
                                }else if(operator.equals("-")){    
                                        result = first - second;    
                                }else if(operator.equals("*")){    
                                        result = first * second;    
                                }else if(operator.equals("/")){    
                                        result = first / second;    
                                }else{    
                                        result = 0.0;    
                                }    
                        }else{    
                                result = 0.0;    
                        }    
                } catch (Exception e) {    
                        e.printStackTrace();    
                }    
                return result;    
        }    
        public void setResult(double result) {    
                this.result = result;    
        }    
        public String getOperator() {    
                return operator;    
        }    
        public void setOperator(String operator) {    
                this.operator = operator;    
        }    
}
测试:
800/50
30+50
------------------------------------------------------------------------

JDBC+Servlet+JSP整合开发之25.JSP动作元素相关推荐

  1. JDBC+Servlet+JSP整合开发之26.JSP内建对象

    –使用内建对象的目的  –内建对象  –out 内建对象  –request 内建对象  –response 对象  –session 内建对象  –pageContext 内建对象  –applic ...

  2. JDBC+Servlet+JSP整合开发之22.JSP简介

    –对JSP的需求 –JSP的结构 –JSP的好处 –JSP实例 ?创建一个简单的JSP页面 ########################################### ? JSP –JSP ...

  3. Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之14.Servlet请求头信息

    –典型的请求头信息 –读取HTTP请求头 –使用表格显示所有请求头信息 –理解各种请求头的含义 –区分不同的浏览器类型 ##############Michael分割线################ ...

  4. JDBC+Servlet+JSP整合开发之30-JDBC、Servlet、JSP的MVC

    –Servlet 的优势与弊端 –JSP 的优势与弊端 –MVC 设计模式 –实例 ?使用MVC实现学生信息的添加.显示 -----------------------------START----- ...

  5. Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之10.Web_工程结构

    –简介 –Web应用程序的思想 –Web应用程序的目的 –Web工程结构 –web.xml 文件 –实例 • 创建一个简单的web应用程序 • 部署到tomcat中来运行 ############## ...

  6. JDBC+Servlet+JSP整合开发之29-JSP表达式语言(EL)

    –EL 简介  –EL的应用场合  –EL 的基本语法  –EL中的算术运算符  –EL中的关系运算符  –EL中的逻辑运算符 ------------------------------START- ...

  7. Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之13.Form表单处理(1)

    –Form 表单简介 –创建并提交表单 –使用Servlet处理表单 • 读取单个请求参数 • 读取多个表单 • 读取所有参数名称 –实例 • 注册会员 ###############Michael分 ...

  8. Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(2)

    –提交表单的方法 • get • post –Servlet 生命周期 –使用Servlet 输出HTML页面 –获得Servlet初始化参数 –页面导航 • 请求重定向 –response.send ...

  9. Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之06.JDBC PreparedStatement

    –PreparedStatement –为占位符"?"赋值 –使用PreparedStatement动态执行SQL语句 ####################Michael分割线 ...

最新文章

  1. 谷歌浏览器添加JSON-Handle插件
  2. 2.3.6 操作系统之进程同步与互斥经典问题(生产者-消费者问题、多生产者-多消费者问题、吸烟者问题、读者-写者问题、哲学家进餐问题)
  3. 休眠锁定模式–乐观锁定模式如何工作
  4. android 键盘 自动消失,android 软键盘 回到键 消失事件 监听
  5. 敏捷实践的价值观和方法论
  6. 超级玛丽程序_如何构建一个超级快速的微笑跟踪应用程序
  7. r语言调用python_python3调用R语言干货
  8. 数据分析五板斧与里面的屠龙刀(上)
  9. 如何绘制高质量业务流程图
  10. HTML5+CSS3 为图书简介页面添加图像及视频
  11. 组态王与DLT645-2007电能表通讯调试总结
  12. logo语言是计算机语言吗,LOGO语言的编程
  13. 怎么录制QQ语音通话 QQ通话录音软件哪个好?
  14. 写给父亲的语音计算器(‘(‘‘)‘括号优先级处理递归算法c#,一)
  15. R语言快速画出ROC曲线和算出可信区间和p值
  16. RAC环境诊断案例一则
  17. 使用react-split-pane简单记录
  18. 物理机ping通Centos虚拟机,但虚拟机ping不通物理机的解决方法
  19. 最强神作!Crysis深度剖析与优化指南
  20. NVP6124I北京冠宇铭通 芯片

热门文章

  1. Eclipse使用时的一些小积累
  2. 开源的数据库,PostgreSQL 基础入门实战
  3. Spark 简介与安装部署
  4. windows服务器部署jar包
  5. win7+计算机+桌面图标不见了怎么办,win7电脑系统桌面图标不见了怎么办
  6. 编写一个函数判断一个整数是不是素数c语言,设计一个函数,用来判断一个整数是否为素数。代码如下,按要求在空白处填写适当的表达式或语句,使...
  7. Nginx的http块其他的配置指令说明
  8. SpringCloud微服务带来的问题
  9. RocketMQ的Producer详解之分布式事务消息(代码实现以及过程分析)
  10. 常用的分布式事务解决方案介绍