JSP基础 业 ,精于勤 荒于嬉.

JSP基础 13.1表达式语言-集合操作

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<%@page import="java.util.*"%>

<html>

<head>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>在此处插入标题</title>

</head>

<body>

<%

 List list = new ArrayList();

 list.add("张三");

 list.add(14);

 list.add("www.zhangsan.com");

 list.add("zhangsan@163.com");

 request.setAttribute("listInfo", list);

%>

<h3>${listInfo[0]}</h3>

<h3>${listInfo[1]}</h3>

<h3>${listInfo[2]}</h3>

<h3>${listInfo[3]}</h3>

<h3>${listInfo[4]}</h3>

<h1>MVC:</h1>



</body>

</html>


阅读全文 »

JSP基础 13.2表达式语言-内置对象

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>在此处插入标题</title>

</head>

<body>

<%

pageContext.setAttribute("info", "简单的表达式语句pageContext");

request.setAttribute("info", "简单的表达式语句request");

session.setAttribute("info", "简单的表达式语句session");

application.setAttribute("info", "简单的表达式语句application");

%>

<div>

<h3>${info}</h3>

<p>若不存在info属性默认逐级往下获取pageContext-》request-》session-》application</p>

</div>

<dl>

<dt>分别获得各种对象类型的属性</dt>

<dd>${pageScope.info}</dd>

<dd>${requestScope.info}</dd>

<dd>${sessionScope.info}</dd>

<dd>${applicationScope.info}</dd>

</dl>

<ul>

<li>IP:${pageContext.request.remoteAddr}</li>

<li>SID:${pageContext.session.id}</li>

</ul>

<ul>

<li>接收参数:<%=request.getParameter("ref") %></li>

<li>接收参数:${param.ref}</li>

</ul>

<hr/>

</body>

</html>


阅读全文 »

JSP基础 14.绑定数据源

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

在tomcat中server.xml文件中:

//虚拟目录中加入Resource标签

<Context docBase="1.jspDemo" path="/1.jspDemo" reloadable="true" source="org.eclipse.jst.jee.server:1.jspDemo">

      

      <Resource name="jdbc/anyehk"

      auth="Container" 

      type="javax.sql.DataSource" 

      maxActive="100" 

      maxIdle="30" 

      maxWait="10000" 

      username="root" 

      password="ice-cold814" 

      driverClassName="org.gjt.mm.mysql.Driver" 

      url="jdbc:mysql://localhost:3306/jsp"

      />

     

</Context>


阅读全文 »

JSP基础 15.JSP标签编程

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

阅读全文 »

JSP基础 16.0.0 Jstl主要标签分类

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

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

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

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

taglibs-standard-impl-1.2.1.jar放到/WEB-INFO/lib/下就可以了。(版本1.2以上)


当然如果不想用远程的标签库:http://java.sun.com/jsp/jstl/core;...

那么我们可以用本地的,把taglibs-standard-impl-1.2.1.jar解压后里面有xx.tId文件复制到/WEB-INFO/lib/下,

然后在web.xml文件中配置,例如:

 <jsp-config>//映射标签库文件

 <taglib>

 <taglib-uri>http://www.canquick.com/jstl/core</taglib-uri>//映射的虚拟访问地址

 <taglib-location>/WEB-INFO/lib/c.tid</taglib-location>//真实绝对路径

 </taglib>

 </jsp-config>

那么我们jsp中可以这样引入,实际上是本地的:

<%@ taglib uri="http://www.canquick.com/jstl/core" prefix="c" %>

阅读全文 »

JSP基础 16.1.0 Jstl核心标签库<c:

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

核心标签库中主要有:

<c:catch></c:catch>

<c:choose></c:choose>

<c:forEach></c:forEach>

<c:if test=""></c:if>

<c:import url=""></c:import>

<c:otherwise></c:otherwise>

<c:out value=""></c:out>

<c:param name=""></c:param>

<c:redirect></c:redirect>

<c:remove var=""/>

<c:set></c:set>

<c:url></c:url>

<c:when test=""></c:when>

阅读全文 »

JSP基础 16.1.01 Jstl核心标签库<c:out

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

格式:

<c:out value="打印的内容" [escapeXml="[true|false]"] [default="默认值"]/>

<c:out value="打印的内容" [escapeXml="[true|false]"]/>

    默认值

</c:out>


实例:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JSTL-c:核心标签库</title>

</head>

<body>

<%

pageContext.setAttribute("info", "<a href='http://www.canquick.com'>www.canquick.com</a>");

%>

<h2>0:<c:out value="&lt;jstl标签库&gt;" escapeXml="true"></c:out></h2>

//0:&lt;jstl标签库&gt;

<h2>1:<c:out value="${info}" escapeXml="true"></c:out></h2>

//1:<a href='http://www.canquick.com'>www.canquick.com</a>

<h2>2:<c:out value="${info}" escapeXml="false"></c:out></h2>

//2:www.canquick.com

<h2>3:<c:out value="${info2}"></c:out></h2>

//3:

<h2>4:<c:out value="${info2}" default="默认值"></c:out></h2>

//4:默认值

</body>

</html>


阅读全文 »

JSP基础 16.1.02 Jstl核心标签库<c:set

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

语法:

1.设置属性:

  1.1无标签体写法:

<c:set var="属性名称" value="属性内容" [scope="[page|request|session|application]"]/>

  1.2有标签体写法:

<c:set var="属性名称" [scope="[page|request|session|application]"]>

属性内容

</c:set>


2.设置对象:

  2.1无标签体写法:

<c:set value="属性内容" target="属性名称" property="属性名称" />

  2.2有标签体写法:

<c:set target="对象引用名称" property="属性名称" >

属性内容

</c:set>


实例:

1.设置属性:

<c:set var="info" value="1234" scope="page"/>

${info}//1234 等同于 <%=pageContext.getAttribute("info") %>//1234

2.设置对象:

《jstlSetBean.java》

package test.canquick.eniac.demo;

public class jstlSetBean {

private String info;

public String getInfo() {

return info;

}

public void setInfo(String info) {

this.info = info;

}

}

《jsp文件中》

<%

JstlSetBean jsb = new JstlSetBean();

request.setAttribute("jsbSet", jsb);

%>

<c:set value="c:set可以设置对象!" target="${jsbSet}" property="info"/>

${jsbSet.info }//c:set可以设置对象!


阅读全文 »

JSP基础 16.1.03 Jstl核心标签库<c:remove

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

语法格式:

<c:remove var="属性名称" scope="page|request|session|application"/>

实例:

<c:set var="info" value="1234" scope="page"/>

${info}//1234

<c:remove var="info"/>

${info}//打印内容为空字符串,因为属性info被删除了


阅读全文 »

JSP基础 16.1.04 Jstl核心标签库<c:catch

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

语法格式:

<c:catch var="属性名称">

异常处理块

</c:catch>

实例:

<c:catch var="errMsg">

<%

 int num = 10/0;

%>

</c:catch>

${errMsg }//java.lang.ArithmeticException: / by zero

阅读全文 »

JSP基础 16.1.05 Jstl核心标签库<c:if

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

语法格式:

<c:if test="判断条件" var="储存判断结果" [scope="[page|request|session|application]"]/>


<c:if test="判断条件" var="储存判断结果" [scope="[page|request|session|application]"]>

满足条件执行

</c:if>




<c:if test="${10<30}" var="result" scope="page">

10小于30-${result}//true

</c:if>



阅读全文 »

JSP基础 16.1.06 Jstl核心标签库<c:choose、<c:when、<c:otherwise

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

语法格式相对固定,见实例:

<c:choose>

<c:when test="${age==10 }">

<h3>小明今年10</h3>

</c:when>

<c:when test="${age==30 }">

<h3>小明今年20</h3>

</c:when>

<c:when test="${age==30 }">

<h3>小明今年30</h3>

</c:when>

<c:otherwise>

<h3>小明一个条件满足</h3>

</c:otherwise>

</c:choose>

//打印结果是:小明今年10

阅读全文 »

JSP基础 16.1.07 Jstl核心标签库<c:forEach

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

语法格式:

<c:forEach var="每一个对象的属性名称" items="集合" [varStatus="保存相关成员信息"] [begin="开始位置"] [end="结束位置"] [step="步长"] >

操作代码

</c:forEach>


实例:(数组)

<%

String info[] = {"eniac","anyehk","canquick"};

pageContext.setAttribute("name", info);

%>

<c:forEach items="${name}" var="o">

${o}\

</c:forEach>

//eniac\ anyehk\ canquick\


实例:(集合)

<%

List all = new ArrayList();

all.add("zhangSan");

all.add("liSi");

pageContext.setAttribute("person", all);

%>

<c:forEach items="${person}" var="oo">

${oo}\

</c:forEach>


实例:(Map集合)

<%

Map map = new HashMap();

map.put("name", "zhangSan");

map.put("age", 10);

pageContext.setAttribute("user", map);

%>

<c:forEach items="${user}" var="ooo">

<h5>【${ooo}】</h5>

<h5>键:${ooo.key}</h5>

<h5>值:${ooo.value}</h5>

</c:forEach>

打印结果(这个要好好理解):

【age=10】
键:age
值:10
【name=zhangSan】
键:name
值:zhangSan


阅读全文 »

JSP基础 16.1.08 Jstl核心标签库<c:forTokens

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

语法比较固定,见实例:

<%

String info = "www.canquick.com";

pageContext.setAttribute("info", info);

%>

<c:forTokens items="${info}" delims="." var="con">

${con}、

</c:forTokens>

//打印的内容:www、 canquick、 com、 ,实际上就是将字符串用.分割为数组了,然后遍历打印。

阅读全文 »

JSP基础 16.1.09 Jstl核心标签库<c:import

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

      示例1
<c:import url="demo.jsp" charEncoding="UTF-8">
<c:param name="name">zhangSan</c:param>
<c:param name="url" value="http://www.canquick.com"/>
</c:import>

阅读全文 »

JSP基础 16.1.10 Jstl核心标签库<c:url

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

<c:url value="http://www.baidu.com" var="urlinfo">

<c:param name="author" value="liYanHong"/>

<c:param name="logo" value="baidu"/>

</c:url>

<a href="${urlinfo}">link</a>

//<a href="http://www.baidu.com/?author=liYanHong&logo=baidu">link</a>  也就是地址重写




阅读全文 »

JSP基础 16.1.11 Jstl核心标签库<c:redirect

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

语法格式固定,见实例:

<c:redirect url="http://www.baidu.com">

<c:param name="author" value="liYanHong"/>

<c:param name="logo" value="baidu"/>

</c:redirect>

//客户端直接跳转到了-》这个页面 http://www.baidu.com/?author=liYanHong&logo=baidu


阅读全文 »

JSP基础 16.2.0.Jstl国际化标签库<fmt:

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

      示例1
<fmt:bundle basename=""></fmt:bundle>
<fmt:formatDate value=""/>
<fmt:formatNumber></fmt:formatNumber>
<fmt:message></fmt:message>
<fmt:param></fmt:param>
<fmt:parseDate></fmt:parseDate>
<fmt:parseNumber></fmt:parseNumber>
<fmt:requestEncoding/>
<fmt:setBundle basename=""/>
<fmt:setLocale value=""/>
<fmt:setTimeZone value=""/>
<fmt:timeZone value=""></fmt:timeZone>
      示例2
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSTL-c:核心标签库if</title>
</head>
<body>
<%
pageContext.setAttribute("date", new Date());
%>


<h4>系统显示:${date}</h4>//Thu Feb 12 00:19:35 CST 2015

<hr/>

<h4>
<fmt:formatDate value="${date}" type="both" dateStyle="default" timeStyle="default" var="dt" />
默认显示:${dt}
</h4>//2015-2-12 0:19:35

<h4>
<fmt:formatDate value="${date}" type="both" dateStyle="short" timeStyle="short" var="dt" />
简短显示:${dt}
</h4>//15-2-12 上午12:19

<h4>
<fmt:formatDate value="${date}" type="both" dateStyle="medium" timeStyle="medium" var="dt" />
中等显示:${dt}
</h4>//2015-2-12 0:19:35

<h4>
<fmt:formatDate value="${date}" type="both" dateStyle="long" timeStyle="long" var="dt" />
较长显示:${dt}
</h4>//2015年2月12日 上午12时19分35秒

<h4>
<fmt:formatDate value="${date}" type="both" dateStyle="full" timeStyle="full" var="dt" />
完整显示:${dt}
</h4>//2015年2月12日 星期四 上午12时19分35秒 CST

<h4>
<fmt:formatDate value="${date}" type="both" pattern="yyyy年MM月dd日 HH时mm分ss秒SSS毫秒" var="dt" />
指定格式:${dt}
</h4>//2015年02月12日 00时19分35秒880毫秒

<hr/>

<fmt:parseDate value="2015年2月12日 星期四 上午12时08分26秒 CST" type="both" dateStyle="full" timeStyle="full" var="pdt"/>
<h4>反格式化日期:${pdt}</h4>//Thu Feb 12 00:08:26 CST 2015

<fmt:parseDate value="2015年02月12日 00时18分44秒860毫秒" type="both" pattern="yyyy年MM月dd日 HH时mm分ss秒SSS毫秒" var="pdt"/>
<h4>反格式化指定格式日期:${pdt}</h4>//Thu Feb 12 00:18:44 CST 2015

<hr/>
<h4>
<fmt:setTimeZone value="HST"/>
<fmt:formatDate value="${date}" type="both" dateStyle="full" timeStyle="full" var="dt" />
设置时区显示:${dt}
</h4>//2015年2月11日 星期三 上午06时27分59秒 HST

<hr/>

<h4>
<fmt:setLocale value="en_us"/>
设置英文显示:<fmt:formatDate value="${date}"/>
</h4>//Feb 12, 2015

<h4>
<fmt:setLocale value="ZH_CN"/>
设置中文显示:<fmt:formatDate value="${date}"/>
</h4>//2015-2-12

<hr/>

<fmt:requestEncoding value="UTF-8"/>

<!--
fmt:bundle
在WEB-INF/classes/文件夹下建立一个msg.properties的文件写入:
name = ENIAC
age = he is {0} years old!
 -->
<fmt:bundle basename="msg">
<fmt:message key="name" var="nameRef"/>
</fmt:bundle>
<h4>姓名:${nameRef}</h4>//ENIAC

<fmt:bundle basename="msg">
<fmt:message key="age" var="ageRef">
<fmt:param value="34"/>
</fmt:message>
</fmt:bundle>
<h4>年龄:${ageRef}</h4>//he is 34 years old!

<hr/>

<fmt:setBundle basename="msg" var="m"/>
<fmt:message key="name" var="nameRef" bundle="${m}"/>
<fmt:message key="age" var="ageRef" bundle="${m}">
<fmt:param value="34"/>
</fmt:message>
<h4>姓名:${nameRef}</h4>//ENIAC
<h4>年龄:${ageRef}</h4>//he is 34 years old!
<!-- 其实fmt:setBundle就是bundle的另一种写法而已 -->

<hr/>

<fmt:formatNumber value="1458744645.65448841" maxIntegerDigits="7" maxFractionDigits="3" groupingUsed="true" var="num"/>
<h4>${num }</h4>//8,744,645.654

<fmt:formatNumber value="1458744645.65448841" maxFractionDigits="3" groupingUsed="true" var="num"/>
<h4>${num }</h4>//1,458,744,645.654

<fmt:formatNumber value="1458744645.65448841" maxFractionDigits="1" groupingUsed="true" var="num"/>
<h4>${num }</h4>//1,458,744,645.7

<fmt:formatNumber value="1458744645.65448841" maxFractionDigits="1" groupingUsed="false" var="num"/>
<h4>${num }</h4>//1458744645.7

<fmt:formatNumber value="1458744645.65448841" pattern="##.###E0" var="num"/>
<h4>${num }</h4>//14.587E8

<hr/>

<fmt:parseNumber value="14.587E8" pattern="##.###E0" var="num"/>
<h4>反格式化科学计数法:${num}</h4>//1458700000

<fmt:parseNumber value="3.2%" pattern="00%" var="num"/>
<h4>反百分比:${num}</h4>//0.032

</body>
</html>

阅读全文 »

JSP基础 16.3.0 JSTL-SQL标签库<sql:

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

备注:<sql:标签真的很方便。但是凡是在jsp中,使用<sql:标签的,十个有九个半是业余的,因为没有人会在JSP页面中写SQL语句。因此,本章只做了解即可。


例如一个完整的实例:

我们有一个叫“jsp”的数据库中有张表pet,表内容为:

mysql> select * from pet;

+----+------+-----+

| id | name | age |

+----+------+-----+

|  1 | 花花 |   2 |

|  2 | 惠惠 |   3 |

+----+------+-----+

2 rows in set (0.54 sec)

我们来用<sql:标签读取表内容


<sql:setDataSource driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3306/jsp" user="root" password="123456" var="dbHandle" scope="page"/>//连接数据库,绑定数据库资源句柄dbHandle。

<sql:query var="result" dataSource="${dbHandle}">//用数据库资源句柄dbHandle执行sql语句。返回的结果集为result

select * from pet;

</sql:query>


<h3>一共有${result.rowCount}条记录。</h3>

<table>

<tr>

<th>编号</th>

<th>名字</th>

<th>年龄</th>

</tr>

<c:forEach items="${result.rows}" var="o">

<tr>

<td>${o.id}</td>

<td>${o.name}</td>

<td>${o.age}</td>

</tr>

</c:forEach>

</table>

//显示

一共有2条记录。

编号名字年龄
1花花2
2惠惠3


阅读全文 »

JSP基础 16.3.1 JSTL-SQL标签库<sql:setDataSource

发表日期:2015-02-15 21:20:08 | 来源: | 分类:JSP基础

语法格式:(数据源请见Tomact数据源配置章节)

<sql:setDataSource dataSource="数据源名称" [var=""] [scope=""]/>

<sql:setDataSource driver="" url="" user="" password="" [var=""] [scope=""]/>


实例:

<sql:setDataSource dataSource="jdbc/anyehk" var="dbHandle" scope="page"/>

<sql:setDataSource driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3306/jsp" user="root" password="ice-123456" var="dbHandle" scope="page"/>


<sql:setDataSource : 设置数据源其实就是帮你连接数据库,最后把var="dbHandle"(数据库资源句柄dbHandle交给你),这时候你就可以执行curd等操作了,接下来可以使用标签<sql:query或<sql:update等执行sql语句

阅读全文 »

全部博文(1580)
集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。