黑马程序员技术交流社区
标题:
jsp中的标准动作
[打印本页]
作者:
冯超
时间:
2013-9-26 23:36
标题:
jsp中的标准动作
本帖最后由 冯超 于 2013-9-29 00:18 编辑
jsp中的标准动作
jsp标准动作是内置标记,是规范结构,由容器实现,运行时就具有这些功能,每个标准动作能实现一定的功能。
常见的标准动作有:
<jsp:useBean> 定义和访问javaBean;
<jsp:setProperty> 设置javaBean属性值;
<jsp:getProperty> 获取javaBean属性值;
<jsp:forward> 在jsp页面进行跳转;
<jsp:include> 引入其他页面,进行其他页面重用;
<jsp:param> 动态的设定参数;
<jsp:useBean> -----篇
自己先定义一个userbean,成员属性有name和password;
1.<jsp:useBean id="user" class="javabeen.User"></jsp:useBean>
该段翻译为:
User user = new User();
所以id的名字对应实例的对象,class必须导入的是类的全路径。
2.<jsp:setProperty property="*" name="user"/>
*是全匹配,用来赋值。
问题1:值从哪里来? 从请求参数来
问题2:值到哪里去?到实例对应的属性值去
问题3:如何对应?参数名称必须对应javabean中的属性
翻译为:
user.setName("");
user.serName("")
所以property中的值对应javabean中的属性,name对应实例对象的名字。
3.<jsp:getProperty property="name" name="user" />
等价于<%=user.getName() %>
<body>
<jsp:useBean id="user" class="javabeen.User"></jsp:useBean>
<jsp:setProperty property="*" name="user"/>
<jsp:getProperty property="password" name="user"/>
<%=user.getName() %>
<form action="">
姓名:<input type="text" name="name" /><br />
密码:<input type="password" name="password" />
<input type="submit" value="提交" />
</form>
</body>
复制代码
点击提交会打印你用页面获取的值。<jsp:useBean>中有scrope这个属性属性值如下:
范围:
应用程序范围(Application):存储在servletContext对象中
回话范围(session):在回话创建并被存储在HttpSession对象中
请求范围(Request):在请求中创建并存储在ServletRequest对象中
页面范围(Page):在页面中创建赢存储在PageContext对象中。
-----页面导入篇
Jsp中如何引入其他页面
1.include指令
静态引入,在翻译期间,直接将被引入页面copy到相应的位置,相当于是同一个界面,所以数据是共享的
功能:将一个代码片段在转换期间包含在Jsp页面的文本中
语法:<%@ include file="" %>(导入的是一段代码片段)
2.jsp:include标准动作
动态引入,在运行期间引入被引入页面所生成的HTML,完全是独立的页面运行,所以数据不能共享。
功能:在运行时将一个代码片段包含到HTTP响应文本中
语法:<jsp:include page="" />(导入的是一个页面)
<jsp:param> ---篇
jsp:param标准动作
功能:为其他标准动作标签提供附加的参数信息
语法:<jsp:param name="参数名" value="参数值" />
与其他标准动作的实例
<jsp:include page="" >
<jsp:param name="" value="" />
</jsp:include>
等价于
<jsp:include page="?name=value" />
可以在page中的页面通过request.getParameter("name")来获取值
<jsp:forward> ---篇
功能:实现转发
语法:<jsp:forward page=""></jsp:forward>
等价于:request.getRequestDispatcher("").forward(request, response);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2