jsp自定义标签——部分容易不注意到的属性
2016-09-02 17:34
253 查看
看项目中的源代码才发现自定义标签中<rtexprvalue>也是个小知识点。
有些小激动的查了下,以下就是查阅别人的博客后的观后感。
rtexprvalue 全称Run - time Expression Value,表示是否可以使用jsp表达式。
rtexprvalue标签在<attribute>标签下面,其中有true,false。
当<rtexprvalue>true</rtexprvalue>时,表示该自定义标签的某个属性的值可以直接指定也可以通过动态计算指定。
<rtexprvalue>false</rtexprvalue>时,表示该自定义标签的某个属性的值只能直接指定。
此处可以看下rtexprvalue标签在attribute标签中的位置:
此处给出rtexprvalue标签为true时的例子:
此处给出rtexprvalue标签为false时的例子:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
此处再说下<body-context>这个标签,有三个值可选:jsp, empty, tagdependent,scriptless
jsp 表示标签体由其他jsp元素组成,比如EL表达式,标准或定制动作以及脚本元素(常用)
如果有jsp元素,那么标签会先解释这些元素,然后再将实际值传入。比如标签体里含有<%= attributeName %>这样的jsp元素,此时标签就会把attributeName的实际值传入进来。
empty 表示标签体必须为空
在引用这个Tag的时候,可以<bean:write bundle="attributeName"
/>,而不用<bean:write bundle="attributeName"></bean:write>
tagdependent 表示标签体可以包含看似为JSP元素的内容,但是容器不对其进行计算(当标签体中的内容与JSP元素产生混淆时采用这个,不常用)
}:${product.price }
${product.name }:${product.price }
${product.name }:${product.price }
scriptless 标签体重可以包含EL表达式和动作,但是不能有脚本元素
结果:
Thinking in Java:108.5
JSP Programming:58.5
Core Java:99.5
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
其中<attribute>标签中还有个<required>标签,表示用户是否必须填写的属性,true表示必须填,false表示不用
有些小激动的查了下,以下就是查阅别人的博客后的观后感。
rtexprvalue 全称Run - time Expression Value,表示是否可以使用jsp表达式。
rtexprvalue标签在<attribute>标签下面,其中有true,false。
当<rtexprvalue>true</rtexprvalue>时,表示该自定义标签的某个属性的值可以直接指定也可以通过动态计算指定。
<rtexprvalue>false</rtexprvalue>时,表示该自定义标签的某个属性的值只能直接指定。
此处可以看下rtexprvalue标签在attribute标签中的位置:
<tag> <name>selectDetail</name> <tag-class>com.nms.taglib.SelectDetail_Tag</tag-class> <body-content>JSP</body-content> <attribute> <name>id</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>selectVal</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>collection</name> <rtexprvalue>true</rtexprvalue> </attribute> </tag>
此处给出rtexprvalue标签为true时的例子:
<% User user = new User(); user.setId(1); request.setAttribute("user",user); %> <html:selectDetail id="" collection="<%="SEX" %>" selectVal="${user.id}"></html:selectDetail>
此处给出rtexprvalue标签为false时的例子:
<html:selectDetail id="" collection="SEX" selectVal="男"></html:selectDetail>如果还是使用上面为true时的样式,就会报错啦!!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
此处再说下<body-context>这个标签,有三个值可选:jsp, empty, tagdependent,scriptless
jsp 表示标签体由其他jsp元素组成,比如EL表达式,标准或定制动作以及脚本元素(常用)
如果有jsp元素,那么标签会先解释这些元素,然后再将实际值传入。比如标签体里含有<%= attributeName %>这样的jsp元素,此时标签就会把attributeName的实际值传入进来。
empty 表示标签体必须为空
在引用这个Tag的时候,可以<bean:write bundle="attributeName"
/>,而不用<bean:write bundle="attributeName"></bean:write>
tagdependent 表示标签体可以包含看似为JSP元素的内容,但是容器不对其进行计算(当标签体中的内容与JSP元素产生混淆时采用这个,不常用)
<span style="font-size:12px;"><body> <jsp:useBean id="catalog" class="liangchao.bean.chap10.CatalogBean"></jsp:useBean> <my:forEachOption items="${catalog.productList}" var="product"> ${product.name }:${product.price }<br/> </my:forEachOption> </body> </span>结果:${product.name
}:${product.price }
${product.name }:${product.price }
${product.name }:${product.price }
scriptless 标签体重可以包含EL表达式和动作,但是不能有脚本元素
<body> <jsp:useBean id="catalog" class="liangchao.bean.chap10.CatalogBean"></jsp:useBean> <my:forEachOption items="${catalog.productList}" var="product"> ${product.name }:${product.price }<br/> </my:forEachOption> </body>
结果:
Thinking in Java:108.5
JSP Programming:58.5
Core Java:99.5
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
其中<attribute>标签中还有个<required>标签,表示用户是否必须填写的属性,true表示必须填,false表示不用
相关文章推荐
- JSP2自定义标签(二)——带属性的标签
- JSP自定义标签之三:为标签添加属性
- 【正则】标签中无空格分割的属性间新增空格分割属性解决部分JSP Server报错
- JSP带有属性的自定义标签
- JSP自建标签_3_简单标签自定义_为标签定义属性
- [教程]自定义JSP中的Taglib标签之二带自定义属性的标签
- JSP自定义简单标签入门之带有属性
- JSP的自定义标签(二)之带属性的标签
- JSP 自定义标签---动态属性标签
- 疯狂javaee jsp自定义带属性标签访问数据库java.lang.NullPointerException
- JSP自定义标签之三:为标签添加属性
- JSP自定义简单标签入门之带有属性
- 自定义JSP中的Taglib标签之二带自定义属性的标签
- 【正则】标签中无空格分割的属性间新增空格分割属性解决部分JSP Server报错
- JSP自定义标签(2):带属性的自定义标签
- JSP自定义标签——访问属性
- 自定义JSP中的Taglib标签之二带自定义属性的标签
- jsp页面自定义标签属性
- 自定义JSP标签
- 第十四章 自定义JSP标签(书摘)