java web 学习 --第三天(Java三级考试)
第二天的学习内容这里:http://www.cnblogs.com/tobecrazy/p/3446646.html
Jsp中的动作标签
<jsp:include> 实现动态包含,在一个文件里包含另一个文件
<jsp:include/>动作标签的包含结果是“结果的合并”而不是内容的合并
<jsp:useBean> 定义和实例化JavaBean组件类的对象实例
该动作标签创建JavaBean组件的对象实例,在web开发中减少java脚本代码量
可以将页面中的Java脚本封装到JavaBean组件类中,采用<jsp:useBean>动作标签创建出它的对象实例,从而访问其中成员方法和操作成员属性值。
使用方法:
<jsp:useBean id=”objectName” scope=”page|request|session|application” calss=”className” />
其中id属性定义该对象的唯一标识名,scope属性代表作用域,可以是page 页面域、request 请求域HTTP请求开始到结束这段时间,session会话作用域HTTP会话开始到结束,application应用程序全局作用域,应用程序从开始到结束这段时间;class属性代表对象全局类名。
如:将scope属性值设置为session(会话作用域),该对象实例的作用域为整个session。
但是需要创建对象实例的jsp中添加<%@page% session=”true” > 开启会话作用域。此时可以在另一页面使用jsp内置session对象获取该对象实例。比如:session.getAttribute(“objectName”)
<jsp:setProperty> 设置由<jsp:useBean>对象实例的成员属性值
<jsp:setProperty>是对Bean的对象成员赋值
语法:
<jsp:setProperty name=”beanInstanceName” { property=”*”|property=”propertyName” [param=”parameterName”] |property=”propertyName” value=”{string|<%=expression %>}” />
Name属性的值是前面已经使用的<jsp:useBean>动作标签引入的实例名字;property属性的值代表JavaBean对象中包含的成员属性,并且可以使用不同的方法对属性赋值。
<jsp:getProperty>获得由<jsp:useBean>对象实例的成员属性值
<jsp:getProperty>是获取成员属性值,并转换为String类型
语法:
<jsp:getProperty name=”beanInstanceName” property=”propertyName” />
其中name属性是JavaBean对象实例的名字,property属性代表成员属性
例子:添加一个UserInfoActionForm 类, 并创建2个属性,添加set/get method
package mypackage;
public class UserInfoActionForm {
/**
* @param args
* two parameters add get/set methods
*/
String userName=null;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
String passWord=null;
}
添加一个名为property.jsp文件,页面内容
添加如下代码:
<jsp:useBean id="myUserinfo" scope="page" class="mypackage.UserInfoActionForm" />
l myUserinfo 是UserInfoActionForm的一个实例
l scope 是myUserinfo的作用域,页面作用域
l class添加方法package.className
接着在body添加
<% myUserinfo.setUserName("Young");
out.print("the value of userName is :"+ myUserinfo.getUserName());
%>
<br>
<jsp:setProperty property="userName" name="myUserinfo" value="Lewis"/>
the value of userName after setProperty is :
<jsp:getProperty property="userName" name="myUserinfo"/>
<br>
运行之后,你将看到这个结果:

<jsp:forward> 转发到指定的页面
<jsp:forward> 动作标签的作用是将请求转发给另一个资源文件,所谓的请求转发是指从一个JSP页面跳转到另一个JsP页面,Servlet或者静态资源中,但被请求转向到的资源必须位于发送请求页面上下文环境之中。也就是客户端看到的URL是A页面的地址却看到是B页面内容。
基本语法:
<jsp:forward page=”relativeURL|<%=expression %>” />
其中page属性既可以是一个相对路径也可以是经过表达式算出来的
而且在<jsp:forward>动作标签内可以包含一个或者多个<jsp:param>动作标签
<jsp:forward page{“URL”|”<%= expression %> } >
<jsp:param name=”paramName” value=”paramValue” />
</jsp:forward>
<jsp:param> 为目标对象提供参数,在目标页面中可以采用reques.getParameter(“parameter name”) 方法来获取
一般配合<jsp:include>和<jsp:forward>使用,向这些动作标签传递参数
<jsp:param>动作标签的基本语法:
<jsp:param name=”parameterName” value=”parameterValue|<%=expression %>” />
其中name属性用于指定的参数名,而value属性用于指定该参数所对应的值
java web 学习 --第三天(Java三级考试)的更多相关文章
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- java web 学习 --第九天(Java三级考试)
第八天的学习内容如下:http://www.cnblogs.com/tobecrazy/p/3468458.html Java servlet 技术 Servlet是使用java servlet应用程 ...
- java web 学习 --第一天(Java三级考试)
1.Servlet servlet是运行在web server或 application server端的Java程序,主要用于在服务器端产生动态内容. servlet 在服务器端主要有以下作用 读取 ...
- JAVA WEB学习笔记(三):简单的基于Tomcat的Web页面
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- Java Web学习(十一)Java过滤器
一.引言 上一篇文章学习了java三大器的拦截器,拦截器主要是针对于action请求进行拦截处理的,那么对于requst的一些信息如果在调用前,想先进行过滤和处理,那么就要使用到第二个神器,也就是本文 ...
- java web学习总结(三十) -------------------JSTL表达式
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- java web学习总结(三) -------------------TOMCAT使用帮助(二)
一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- java web 学习 --第二天(Java三级考试)
第一天的学习在这http://www.cnblogs.com/tobecrazy/p/3444474.html 2.jsp 基础知识 Jsp页面中的Java脚本主要有3部分:声明(Declaratio ...
- java web 学习 --第八天(Java三级考试)
第七天的学习内容:http://www.cnblogs.com/tobecrazy/p/3464231.html EL表达式 EL : Expression Language 使用EL表达式可以减少& ...
随机推荐
- 阿里云Nginx绑定多个域名的方法
nginx绑定多个域名,可通过把多个域名规则写一个配置文件里实现,也可通过分别建立多个域名配置文件实现,一般为了管理方便,建议每个域名建一个文件,有些同类域名也可写在一个总的配置文件里. 一.每个域名 ...
- Linux统计文件行数
语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所有指定文件的总统计数.字是由空格字符区分开的最大字符串. 该命令各选 ...
- PHP的扩展类 mysqli_stmt:预处理类
mysqli和mysqli_result能完成的功能 都可以使用mysqli_stmt类开完成 1.编译一次,使用多次,类似于存储过程 2.参数化查询,可防止sql注入 1: <?php 2: ...
- HDOJ 3652 B-number
B-number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- test dword ptr [eax],eax ; probe page. visual studio
当在函数中申请占用空间很大的数组.结构体时,会产生该问题. 由于局部变量的申请空间存放于栈中,windows里默认栈内存是1M 所以当申请空间大于1M时就会出现溢出错误 通过debug就会进入以下文件 ...
- NoSuchMethodException问题总结
1.编译异常,这个很容易发现并解决: method真的没有 替换jar包没有clean project. 2.编译正常,运行报错 这是一个遇到之后让人纳闷的异常,脑袋不转弯的时候真的容易被卡住.这时只 ...
- iOS开发——UI基础-懒加载,plist文件,字典转模型,自定义view
一.懒加载 只有使用到了商品数组才会创建数组 保证数组只会被创建一次 只要能够保证数组在使用时才创建, 并且只会创建一次, 那么我们就称之为懒加载 lazy - (void)viewDidLoad 控 ...
- Unity3D在IOS上的优化小结
http://www.58player.com/blog-635-122.html 最近一段時間一直在做Unity 在IOS設備上的資源優化,結合Unity的官方文檔以及自己遇到的實際問題,我把自己認 ...
- Homework
#include<stdio.h> #include<math.h> int main() { int a,b,c,l,p,s; printf("请输入三个数:&qu ...
- git 教程(9)-远程仓库
到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Gi ...