我现在使用的是JSTL1.O,因为必须使用JSTL1.0,所以很多1.1和1.2的功能都不能支持,郁闷死了现在我只有自己写了一个标签扩展JSTL1.0的功能
java代码如下:
public int doStartTag() throws JspException {
JspWriter out = pageContext.getOut();
try{
if(str == null||str.trim().length() == 0){
out.print(" ");
}
else{
out.print(str);
} }catch(Exception e){
e.printStackTrace();
}
return(SKIP_BODY); }tld文件如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>my</short-name>
<uri>http://bravejj.com/jstl/MyTaglib</uri>
<display-name>showfield</display-name>
<description>Custom Tag Library</description> <tag>
<name>sf</name>
<tag-class>com.bravejj.jstlfuction.showfield</tag-class>
<body-content>empty</body-content> <attribute>
<name>str</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute> </tag>
</taglib>jsp页面:
<body bgcolor="#ffffff">
<h1>
test mytag sf
</h1>
<my:sf str=" "/>
<br />
<c:set var="jj" value="test"/>
<c:out value="${jj}"/>
<br /><my:sf str="jj"/>
</body>我的问题是想在页面上把变量jj的值通过EL表达式传给my:sf 标记的属性str
就像<c:out value="${jj}">这样.
我用<my:sf str="${jj}"/>的到的页面结果是${jj}
我该怎么让自定义标签的属性接受EL表达式的赋值呀 ?希望各位师兄师姐给点意见,感激不尽~~
java代码如下:
public int doStartTag() throws JspException {
JspWriter out = pageContext.getOut();
try{
if(str == null||str.trim().length() == 0){
out.print(" ");
}
else{
out.print(str);
} }catch(Exception e){
e.printStackTrace();
}
return(SKIP_BODY); }tld文件如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>my</short-name>
<uri>http://bravejj.com/jstl/MyTaglib</uri>
<display-name>showfield</display-name>
<description>Custom Tag Library</description> <tag>
<name>sf</name>
<tag-class>com.bravejj.jstlfuction.showfield</tag-class>
<body-content>empty</body-content> <attribute>
<name>str</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute> </tag>
</taglib>jsp页面:
<body bgcolor="#ffffff">
<h1>
test mytag sf
</h1>
<my:sf str=" "/>
<br />
<c:set var="jj" value="test"/>
<c:out value="${jj}"/>
<br /><my:sf str="jj"/>
</body>我的问题是想在页面上把变量jj的值通过EL表达式传给my:sf 标记的属性str
就像<c:out value="${jj}">这样.
我用<my:sf str="${jj}"/>的到的页面结果是${jj}
我该怎么让自定义标签的属性接受EL表达式的赋值呀 ?希望各位师兄师姐给点意见,感激不尽~~
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货