jsp(10)------格式标签,SQL标签,自定义标签

jsp(10)

1、格式标签
2、SQL标签
3、自定义标签



<table border="1">
<Tr>
<Td rowspan="4">
<img src="${t.pic }">
</Td>
<Td>编号:${t.id }</Td>
</Tr>
<Tr>
<Td>名称:${t.name }</Td>
</Tr>
<Tr>
<Td>价格:${t.price }</Td>
</Tr>
<Tr>
<Td><a href="#">购买</a></Td>
</Tr>
</table>






<c:forEach items="${requestScope.list}" var="t" varStatus="st">


varStatus声明的属性st,它是用于保存t对象在集合的一些状态,状态主要有两种

st.index=   用于保存t对象,在集合的下标,下标从0开始

st.count=用于保存t对象,是集合的第几个对象,值从1开始








for(int i=1;i<121;i=i+2){


}


<c:forEach begin="1"  end="120" step="2" var="t">

</c:forEach>



12,345,678.64


fmt-----------------format


${name }  --从作用域中取name的值


${param.name}  ---------从表单中或者超连接中取得值



jsp---第九章


startup.bat------启动tomcat
shutdown.bat--------停止tomcat

               
一个jsp页面,可以包含七部份内容:

1、静态内容
2、java小脚本
3、声明
4、表达式
5、注释
6、指令
7、标准动作
--------------------------------------------

java小脚本:   <%                  %>

声明          <%!                 %>  

表达式        <%=                 %>

注释:
服务器端注释    <%--   --%>
客户端注释      <!--    -->  

指令: <%@ 指令名  %>


-------------------------------------

标准动作:jsp把在项目中经常要用到的一些功能,已标签的形式,封装起来,就称为:“标准动作”

常用标准动作:

语法:

<jsp:动作名称 相关属性>

常用的六个标准动作:

1、     <jsp:forward  page=""/>  用于页面跳转

2、     <jsp:include page=""/>  用于将其他页面,包含到当前页面
3、   <jsp:useBean >  用于在页面中创建一个对象实例,并且存储到作用域
4、     <jsp:getProperty>  用于在页面中,取得作用域存储的对象中的某一个属性,并且输出值

5、 <jsp:setProperty> 用于给作用域存储的对象,重新赋值

6、     <jsp:param> 用于在页面跳转或包含的时候,传递参数


-----------------------------------------------
 <jsp:forward  page=""/>  用于页面跳转

跳转的时候,传递参数:
<jsp:forward page="shw?name=jack&age=23"/>
----------------------------------------------------------------
<jsp:forward page="shw">
<jsp:param name="name" value="jack"/>
<jsp:param name="age" value="55"/>
</jsp:forward>

<jsp:include page="">

指令include,称为“静态包含”,它包含页面,不会检查页面的变化情况,即使被包含的页面有变,它也不会将变化以后的数据包含进来,一般用于包含不发生改变的页面,速度比较快

动作include.称为“动态包含”,它包含页面时,会检查被包含的页面数据是否有变化,如果有变化,会将最新的数据包含进来





<jsp:useBean>   用于在页面中实例化对象,并且存储到作用域

<jsp:getProperty>  取得作用域中对象的属性值,并且输出

<jsp:setProperty>  给作用域中存储的对象的属性,重新赋值



${对象}:从小的范围,一直找到大的范围

-----------------------------------------------------------
指定作用域,查询数据:

${pageScope.对象}  --------只在page范围中查询,如果没有,也不再其他作用域
${requestScope.对象}--------只在request范围中查询,如果没有,也不再其他作用域
${sessionScope.对象}--------只在session范围中查询,如果没有,也不再其他作用域
${applicationScope.对象}------只在application范围中查询,如果没有,也不再其他作用域


-----------------------------------------------

JSTL  JSP的标准标签库


--------------------------------
jstl(标准标签库)

1、核心标签库  <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
A、通用标签
<c:set> 在页面设置一个变量,存储到指定作用域
<c:set var="name" value="aaa" scope="page"/>



<c:remove> 移除作用域中的变量
<c:remove var="name" scope="page"/>


<c:redirect> 重定向
<c:redirect url="http://www.sina.com.cn"/>


B、逻辑标签

<c:if>
<c:choose>
<c:when>
<c:otherwise>

C、迭代标签
<c:forEach>  --循环标签

2、格式标签库
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt"%>

<fmt:formatDate>
<fmt:formatNumber>

3、SQL标签库

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>

  ################################配置数据库的连接
<sql:setDataSource
    var="con"
    url="jdbc:mysql://localhost:3306/jsp"
    driver="com.mysql.jdbc.Driver"
    user="root"
    password="root"
    />
#########################################################
在sql标签库中,增删改都是同一个标签  <sql:update>


在sql标签库中,<sql:param>专用于给语句的占位符?赋值

<sql:update dataSource="${con}">
update inf set name=?,age=? where id=?
<sql:param value="${param.name}"/>
<sql:param value="${param.age}"/>
<sql:param value="${param.id}"/>
</sql:update>

------------------------------------------------------------------

<sql:query> 它专用于查询

该标签执行的结果是返回一个Result对象(它把查询的数据当作一个对象返回)


Result对象,有一个getRows()方法,可以所有行的集合(是数组类型)


getRows();==可以返回一个数组,数组中,放的是所有的行



<sql:query var="t"  dataSource="${con}">
select * from inf                 
</sql>

<Table width="50%" border="1" align="center">

<c:forEach items="${t.rows}" var="k">
<Tr>
<Td>${k.id}</td>
<Td>${k.name}</td>
<Td>${k.age}</td>
</tr>
</c:forEach>
</table>



















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值