【Struts2学习笔记】7:Strut2中的数据标签

本来想学OGNL上下文和值栈的,看了半天没怎么看懂,这个就先放一放吧,为了不挂科,先把”框架怎么用”学会。

Struts2中的标签要在JSP页面中使用,需要在JSP页面开始的时候用taglib指令引入进来:

<%@taglib prefix="s" uri="/struts-tags" %>

bean标签

用来实例化一个JavaBean。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bean标签</title>
</head>
<body>
    <%--指出实现类--%>
    <s:bean name="myBean.UserTable">
        <%--用param标签向其setter传递值 --%>
        <s:param name="id" value="1"/>
        <s:param name="username" value="'刘知昊'"/>
        <s:param name="password" value="123"/>

        <%--用property标签获取值,value为bean的name --%>
        ID:<s:property value="id"/><br/>
        姓名:<s:property value="username"/><br/>
        密码:<s:property value="password"/>
    </s:bean>
</body>
</html>

这里写图片描述

include标签

用来包含其它页面,可以传递参数地包含。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>include标签</title>
</head>
<body>
    <%--包含error.jsp页面--%>
    <s:include value="error.jsp"/>
</body>
</html>

这里写图片描述

param标签

用来给某些标签传递参数,就像学XML时候可以用属性也可以用子元素一样,这个标签的使用也是这样灵活的。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>include标签</title>
</head>
<body>
    <%--这里的var指明了这个实例化的JavaBean在OGNL表达式里的变量名 --%>
    <s:bean name="myBean.UserTable" var="user1">
        <s:param name="id" value="1"/>
        ID:<s:property value="id"/><br/>


        <s:param name="username">刘知昊</s:param>
        姓名:<s:property value="username"/><br/>

        <s:param name="password" value="1234"/>
        密码:<s:property value="#user1.password"/>
    </s:bean>
</body>
</html>

这里写图片描述

set标签

set标签的value属性里可以用OGNL表达式,表达式总是以%{开头以}结尾,它还有个scope属性可以设定作用域,不指定时是在OGNL上下文中。

书上的例子完全没有展示set的用途,以后用到了再学吧。

url标签

表示一个URL,它有很多很复杂的属性用到再看。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>include标签</title>
</head>
<body>
    [1]value属性指定生成URL的地址值<br/>
    <s:url value="main.action">
        <%--param也可以在这里传参数 --%>
        <s:param name="param" value="'okk'"/>
    </s:url>
    <br/><br/>
    [2]action属性指定生成URL的地址是哪个action<br/>
    这时候可以知道这个action的实现类在哪,所以能显示全部路径<br/>
    <s:url action="main">
        <s:param name="param" value="'okk'"/>
    </s:url>
    <br/><br/>
    [3]两个属性都指定时,会显示value的URL,不然value就没用了<br/>
    <s:url action="main" value="main.action">
        <s:param name="param" value="'okk'"/>
    </s:url>
    <br/><br/>
    [4]两个属性都不指定时,这个URL直接表示当前页面<br/>
    <s:url>
        <s:param name="param" value="'okk'"/>
    </s:url>
    <br/><br/>不管用的是哪个URL,param给的参数总是会跟在后面的
</body>
</html>

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值