JDBC+Servlet+JSP整合开发之25.JSP动作元素
–jsp:setProperty
–jsp:getProperty
–jsp:forward
–jsp:include
–jsp:param
–实例
?计算器
–格式
? <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间共享对象更容易
–格式 ? <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 name="name" property="property" />
–目的
? 不需用到显式的Java编程就可以访问bean的属性(即调用getXxx
方法)
–注意
? <jsp:getProperty name="book1" property="title" />
–等价于下面的JSP表达式
? <%= book1.getTitle() %>
?转发请求到指定文件
?语法
–<jsp:forward page=“URL”/>
?例如
–<jsp:forward page=“/result.jsp” />
–在页面中动态包含文件
–语法
? <jsp:include page=“URL” flush=“true”/>
–例如
? <jsp:include page=“header.jsp”flush=“true”/>
–获得请求参数
?计算器
<%@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>
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动作元素相关推荐
- JDBC+Servlet+JSP整合开发之26.JSP内建对象
–使用内建对象的目的 –内建对象 –out 内建对象 –request 内建对象 –response 对象 –session 内建对象 –pageContext 内建对象 –applic ...
- JDBC+Servlet+JSP整合开发之22.JSP简介
–对JSP的需求 –JSP的结构 –JSP的好处 –JSP实例 ?创建一个简单的JSP页面 ########################################### ? JSP –JSP ...
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之14.Servlet请求头信息
–典型的请求头信息 –读取HTTP请求头 –使用表格显示所有请求头信息 –理解各种请求头的含义 –区分不同的浏览器类型 ##############Michael分割线################ ...
- JDBC+Servlet+JSP整合开发之30-JDBC、Servlet、JSP的MVC
–Servlet 的优势与弊端 –JSP 的优势与弊端 –MVC 设计模式 –实例 ?使用MVC实现学生信息的添加.显示 -----------------------------START----- ...
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之10.Web_工程结构
–简介 –Web应用程序的思想 –Web应用程序的目的 –Web工程结构 –web.xml 文件 –实例 • 创建一个简单的web应用程序 • 部署到tomcat中来运行 ############## ...
- JDBC+Servlet+JSP整合开发之29-JSP表达式语言(EL)
–EL 简介 –EL的应用场合 –EL 的基本语法 –EL中的算术运算符 –EL中的关系运算符 –EL中的逻辑运算符 ------------------------------START- ...
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之13.Form表单处理(1)
–Form 表单简介 –创建并提交表单 –使用Servlet处理表单 • 读取单个请求参数 • 读取多个表单 • 读取所有参数名称 –实例 • 注册会员 ###############Michael分 ...
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(2)
–提交表单的方法 • get • post –Servlet 生命周期 –使用Servlet 输出HTML页面 –获得Servlet初始化参数 –页面导航 • 请求重定向 –response.send ...
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之06.JDBC PreparedStatement
–PreparedStatement –为占位符"?"赋值 –使用PreparedStatement动态执行SQL语句 ####################Michael分割线 ...
最新文章
- 谷歌浏览器添加JSON-Handle插件
- 2.3.6 操作系统之进程同步与互斥经典问题(生产者-消费者问题、多生产者-多消费者问题、吸烟者问题、读者-写者问题、哲学家进餐问题)
- 休眠锁定模式–乐观锁定模式如何工作
- android 键盘 自动消失,android 软键盘 回到键 消失事件 监听
- 敏捷实践的价值观和方法论
- 超级玛丽程序_如何构建一个超级快速的微笑跟踪应用程序
- r语言调用python_python3调用R语言干货
- 数据分析五板斧与里面的屠龙刀(上)
- 如何绘制高质量业务流程图
- HTML5+CSS3 为图书简介页面添加图像及视频
- 组态王与DLT645-2007电能表通讯调试总结
- logo语言是计算机语言吗,LOGO语言的编程
- 怎么录制QQ语音通话 QQ通话录音软件哪个好?
- 写给父亲的语音计算器(‘(‘‘)‘括号优先级处理递归算法c#,一)
- R语言快速画出ROC曲线和算出可信区间和p值
- RAC环境诊断案例一则
- 使用react-split-pane简单记录
- 物理机ping通Centos虚拟机,但虚拟机ping不通物理机的解决方法
- 最强神作!Crysis深度剖析与优化指南
- NVP6124I北京冠宇铭通 芯片
热门文章
- Eclipse使用时的一些小积累
- 开源的数据库,PostgreSQL 基础入门实战
- Spark 简介与安装部署
- windows服务器部署jar包
- win7+计算机+桌面图标不见了怎么办,win7电脑系统桌面图标不见了怎么办
- 编写一个函数判断一个整数是不是素数c语言,设计一个函数,用来判断一个整数是否为素数。代码如下,按要求在空白处填写适当的表达式或语句,使...
- Nginx的http块其他的配置指令说明
- SpringCloud微服务带来的问题
- RocketMQ的Producer详解之分布式事务消息(代码实现以及过程分析)
- 常用的分布式事务解决方案介绍