<jsp:setProperty>标记只能用来做一件事,那就是设置bean的性质。

但是,如果你想设置一个Map中的值呢?或者说想在Map中创建新的一项呢?或者只是希望创建一个新的请求作用域属性,该肿么办呢?

好吧,那就要用到c:set来帮忙了。

c:set有两种不同的设置:var和target。var版本用于设置属性变量,target版本用于设置bean性质或Map值。这两种版本都有两种形式,有体和没体,其实只是讲值放在不同位置的书写方式而已,不必纠结。下面首先介绍var版本,设置属性变量:

<!--设置属性的值,关键字set,var-->
<html>
<body>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <% pageContext.setAttribute("name","wang"); %>
name:
<%= pageContext.getAttribute("name") %><br>
<!--设置该属性的值-->
<c:set var="name" value="ning" />
after change:
<c:out value="${name}" default="it's nothing" /><br> <!--设置的属性不存在,则创建该属性-->
<c:set var="dog" scope="page" value="wangcai" />
dog:
<c:out value="${dog}" default="it's nothing" />
</body>
</html>

上面的代码已经很清晰了,所以就不多啰嗦了。因为上面用到的都是没体的形式,所以这里写一下有体的书写形式,做一下对比。

两种效果相同。

<!--有体-->
<c:set var="dog" scope="page" value="wangcai" />
<!--没体-->
<c:set var="dog" scope="page" >
wangcai
</c:set>

下面讲一下设置bean性质

<!--设置bean性质,关键字set,target-->
<html>
<body>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<% foo.person person = new foo.person(); %>
<% pageContext.setAttribute("person",person);%>
set bean<br>
<c:set target="${person}" property="name" value="bigMan" />
personName:
<c:out value="${person.name}" /><br>
</body>
</html>

person.java

package foo;

public class person{
private String name; public void setName(String name){
this.name = name;
} public String getName(){
return name;
}
}

ok,上面的代码都很简单。到此c:set的简单的用法就介绍完了。

JSTL之c:set的更多相关文章

  1. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  2. JSTL标签 参考手册

    前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...

  3. JavaWeb_day08_EL JSTL

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day08 EL JSTL EL表达式 语法:${} ...

  4. java web学习总结(三十) -------------------JSTL表达式

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  5. [Java] JSP笔记 - EL、JSTL 常用标签

    一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...

  6. JSTL 操作符

    el表达式的取值默认顺序:     pageScope  requestScope  sessionScope  applicationScope     结构,采用.导航,也称为存取器   ${us ...

  7. JSP页面JSTL提供的函数标签EL表达式操作字符串的方法

    首先在jsp页面导入标签<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions&quo ...

  8. JSTL标签库

    JSP页面作为内嵌java的Html简化了Servlet在控制页面显示的语法,但JSP脚本中的表达式功能不够强大,语法也稍显繁杂,EL(Expression Language)表达式语言的出现能够大大 ...

  9. 重温JSP学习笔记--与日期数字格式化有关的jstl标签库

    上一篇笔记写的主要是JSTL的core标签库,如果想对一些数字或者日期做一些操作或者在网页上显示指定格式的数字或日期,jstl还提供了另一个fmt标签库,这里简单介绍一下: 第一步,导入标签库: &l ...

  10. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

随机推荐

  1. latex插图续

    LaTeX中一般只直接支持插入eps(Encapsulated PostScript)格式的图形文件, 因此在图片插入latex文档之前应先设法得到图片的eps格式的文件.  UNIX下的各种应用软件 ...

  2. GBK和UTF8的区别

    GBK的文字编码是双字节来表示的,即不论中.英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1. UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中 ...

  3. SQL分组查询

      把数据分成多个逻辑组,以便能对每个组的数据进行操作,对每个组进行聚集计算. 1.创建分组 分组是在SELECT语句的GROUP BY子句中建立的 例子:         SELECT vendId ...

  4. [2016-09-09]IIS站点发布、同步和备份工具MSdeploy(WebDeploy)介绍

    前提准备:完整安装Microsoft Web Deploy 3 下载页面:WebDeploy_amd64_zh-CN.msi msdeploy 同步站点 命令所在目录C:\Program Files\ ...

  5. kettle表输入条件参数设置

    @ 获取系统信息:设置命令参数 @ 表输入:

  6. Java起源

    Java历史发展和特点 作为一名合格的程序员,如果不了解一些关于Java语言的起源是有一些不太合适的.下面就介绍一下我所了解的Java起源. 1.Java名字的来源 Java是印度尼西亚爪哇岛的英文名 ...

  7. BootKit病毒——“异鬼Ⅱ”的前世今生

    七月底,一种名为"异鬼Ⅱ"的木马在全网大肆传播.一个多月过去了,风声渐渐平息,之前本来准备专门就这个木马写一篇博客的,结果拖到现在,幸好时间隔得还不算太久.闲话不多说,回到正题. ...

  8. Junit单元测试实例

    1.非注解 public class Test { @org.junit.Test public void testPrice() { ClassPathXmlApplicationContext b ...

  9. 【打死树莓派】-树莓派3代jessie+Opencv-解决安装不了libgtk2.0-dev包问题

    按照国际法先贴问题 Some packages could not be installed. This may mean that you have requested an impossible ...

  10. group by 多字段分组

    在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据.比如有一个学生选课表,表结构如下: Table: Subject_Selection S ...