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

?计算器
------------------------------------------------------------------------
? jsp:useBean
–格式
?
–目的
? 不需用到显式的Java编程就能够创建Java类的实例
–注意
? 简单来说

? 可以认为等同于下面的scriptlet
–<% coreservlets.Book book1 = new com.amaker.Book(); %>
–但jsp:useBean拥有下面两项额外的优势
? 从请求参数中导出对象的值更容易
? 在页面和servlet间共享对象更容易
User.java 
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第1张图片
TestUseBean.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第2张图片
测试:
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第3张图片
下面我们使用动作元素jsp:useBean来实现哈~
TestUseBean.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第4张图片
测试:
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第5张图片 
? jsp:setProperty
–格式 ? />
–目的 ? 不需用到显式的Java编程就可以设置bean的属性(即调用setXxx方法)
–注意 ?
–等价于下面的scriptlet
? <% book1.setTitle(“Java Web Dev!"); %>
 
? jsp:getProperty
–格式
?
–目的
? 不需用到显式的Java编程就可以访问bean的属性(即调用getXxx
方法)
–注意
?
–等价于下面的JSP表达式
? <%= book1.getTitle() %>
下面我们通过请求参数来获取
login.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第6张图片
TestUseBean.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第7张图片
测试:
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第8张图片
  JDBC+Servlet+JSP整合开发之25.JSP动作元素_第9张图片
同样我们也可以用param获取参数
TestUseBean.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第10张图片
测试:
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第11张图片
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第12张图片
–jsp:forward
?转发请求到指定文件
?语法

?例如
login.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第13张图片
process.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第14张图片
测试:
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第15张图片
帐号michael跳转到成功页面。
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第16张图片
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第17张图片
非michael帐号跳转到失败页面。
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第18张图片
? jsp:include
–在页面中动态包含文件
–语法
?
–例如
?
TestJspInclude.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第19张图片
include.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第20张图片
测试:
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第21张图片 
? jsp:param
–获得请求参数
TestJspInclude.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第22张图片
include.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第23张图片
测试:
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第24张图片
–实例
?计算器
Calculator.jsp
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第25张图片 
<%@ 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+"/";    
%>    

"-//W3C//DTD HTML 4.01 Transitional//EN">    
    
        
        "<%=basePath%>"
>    
        My JSP 'Calculator.jsp' starting page    
        "pragma" content="no-cache">    
        "cache-control" content="no-cache">    
        "expires" content="0">        
        "keywords" content="keyword1,keyword2,keyword3">    
        "description" content="This is my page">    
            

        
        
        
"f1" id="f1" action="<%=path %>/Calculator.jsp" method="post">    
        "cb" class="com.michael.jsp.CalculatorBean">    
        "*" name="cb"/>    
        
    
            计算结果:<%    
            if(cb.getOperator()!=null){    
                    try{    
                            out.println(cb.getFirst()+cb.getOperator()+cb.getSecond()+"="+cb.getResult());    
                    }catch(Exception e){    
                    }    
            }else{    
                    out.println("请输入!");    
            }    
            %>    
            
    
            "0">    
                 
                        
                        
                    
                    
                    
                    
                    
                    
                        
                        
                    
                    
                        
                    
            
第一个数:"text" name="first">
操作符:    
                            
                
第二个数:"text" name="second">
"2" align="center">"submit" value="计算">
    
            
        

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;    
        }    
}
测试:
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第26张图片
800/50
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第27张图片
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第28张图片
30+50
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第29张图片
JDBC+Servlet+JSP整合开发之25.JSP动作元素_第30张图片
------------------------------------------------------------------------