全部的示例在本机通过测试。学习Django中的自定义标签与模板思维进行整理!
1. 整理学习jstl/core这个核心包 即包含了全部常用的功能性标签的。
<%@ taglib uri="" prefix="c" %> 相当于是SUN公司将一些规则定义在自己公司的远端URI那边了!
mytag.jsp 这句话的意思就是:<%= %>
设置好一个变量的值及其变量范围相当于是设置好了一个session变量
<%=session.getAttribute("username") %>
表示将这个属性从这个变量中踢除掉相当于session.removeAttribute()
<%=session.getAttribute("username") %>
下面主要讲一下JSTL中的流控制方面的内容:
在 Web 应用程序环境中,迭代主要用于访存和显示数据集,通常是以列表或表中的一系列行的形式显示。实现迭代内容的主要 JSTL 操作是
定制标记。该标记支持两种不同样式的迭代:整数范围上的迭代(类似 Java 语言的
for
语句)和集合上的迭代(类似 Java 语言的
Iterator
和
Enumeration
类)。
Django中是这样的:{%
for group in grouped %}
示例 一
相同的代码在Smarty中是这样来写的:
$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
*}
{foreach name=outer item=contact from=$contacts}
{foreach key=key item=item from=$contact}
{$key}: {$item}
{/foreach}
from 表示从哪个数据集读数据
item 表示单个元素值
{/foreach}
我的感觉:在PHP中有很多诸如Smarty这样的标签库。跟PHP语言本身进行了分离。PHP只是负责解析这些标签进来。
在JSP中有自带的标签
在对集合的成员进行迭代时,用到了
标记的另一个属性:
items
属性,清单 3 中显示了该属性。当使用这种形式的
标记时,
items
属性是唯一必需的属性。
items
属性的值应该是一个集合,对该集合的成员进行迭代,通常使用 EL 表达式指定值。如果变量名称是通过
标记的
item
属性指定的,那么对于每次迭代该已命名变量都将被绑定到集合后续元素上。
body content
阅读(1098) | 评论(0) | 转发(0) |