JSTL之c:set

<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的简单的用法就介绍完了。

时间: 2024-10-14 19:41:59

JSTL之c:set的相关文章

JSP、JSTL、EF学习笔记

JSP 1)Java Server Page,在html中嵌入java代码 2)九个内置(隐式)对象 request response out page pageContext config session application Exception 3)JSP指令 <%@ page ... %> Page指令,定义页面属性 eg:<%@ page language="java" contentType="text/html;charset=UTF-8&qu

jstl 总结

jstl 1.2 (Java Standard tag Library) java 标准标签库 核心标签库 c标签库 (最常用) 国际化标签 (fmt标签库) EL函数库 (fn函数库) xml标签库 (x标签库) sql标签库 (sql标签库) (jstl中文文档网址:http://www.runoob.com/jsp/jsp-jstl.html) "核心"库 通用 <c:out> 用于在JSP中显示数据,就像<%= ... > <c:set> 用

java jstl标签

转自:http://blog.csdn.net/liushuijinger/article/details/9143793 JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个实现 Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管理格式化.XML 操作以及数据库访问. 目前也有不少人在用JSTL,今天我们就一起学习一下JSTL的核心标签. 在JSP页面引入核心标签库的代码为:<%@ taglib prefix="c"

java cannot find the tag library descriptor for &quot;http://java.sun.com/jsp/jstl/core&quot;

出现java cannot find the tag library descriptor for "http://java.sun.com/jsp/jstl/core" 主要的愿意是因为没有jstl的jar包,如果你里面有了,那么可能是版本的问题,j2ee版本如果是1.4那么就要加jstl.jar包,如果是以上就不用加了,还有一个问题是jstl.jar包版本的问题,如果你里面是jstl1.1那么http://Java.sun.com/jsp/jstl/core就是这样,如果是1.0那

略识JSTL标签库

JSTL(Java Standard Taglib Langage): 只要使用该标准标签库的函数和标签,都可以在任何支持JavaEE规则的服务器中运行,无需修改代码.反之,为非标准标签库. JSTL核心标签(core标签): <c:out>  向浏览器输出内容.(注意它的escapeXml属性,即是否要转义内容.如果是js代码,就不要转义) 例子:<% pageContext.setAttribute("osc","<script>window

Javaweb学习笔记6—EL表达式与JSTL及自定义标签

 前几天博客被黑了,导致博客登陆不上,把前几天应该发的东西的东西重新发一遍 今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多. 一.EL表达式 1,EL简介 Expression Lan

jstl标签 core fmt fn函数使用参考(为第一篇的补充,更为实用)

JSTL标签 参考手册 前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版.JSTL是由J

JSTL使用

1.标签函数库 核心标签库                 c I18N格式标签库   fmt SQL标签库  sql XML标签库  xml 函数标签库 fn 2.JSTL支持EL 二:JSTL Core标签库 1.介绍 2.c:out 可以对敏感的字符进行自动转换,强于EL表达式. 语法: <c:out value="${EL表达式}" > 属性:

Java jstl标签使用总结

1.在jsp文件中引用 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2.jstl常用标签的使用 1)choose 相当于switch <body> <% Rat rat=new Rat(); rat.setName("Cally"); rat.setAge(10); request.setAttribute("rat1&q

jsp&amp;el&amp;jstl

一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> ----- 会被翻译成service方法内部out.print() 3)<%!java代码%> ---- 会被翻译成servlet的成员的内容 jsp注释:  不同的注释可见范围是不同 1)Html注释:<!--注释内容--> ---可见范围 jsp源码.翻译后的servlet.页面 显