给你个标签的例子自己看看吧!
标签:<framework:VoucherCodeToName code="" />
tld.xml<tag>
<name>VoucherCodeToName</name>
<tagclass>com.itown.crm.fee.vouchermanager.util.VoucherCodeToNameTag</tagclass>
<bodycontent>JSP</bodycontent>
<attribute>
<name>code</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
VoucherCodeToNameTag.java
package com.itown.crm.fee.vouchermanager.util;
import java.util.ArrayList;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
import org.apache.commons.lang.StringUtils;
import org.apache.taglibs.standard.tag.el.core.ExpressionUtil;
import com.itown.crm.fee.vouchermanager.po.FeeVoucherInfo;
import com.itown.crm.util.DaoUtil;
import com.itown.framework.persistence.CachedRowSet;
import com.itown.util.ormapping.BeanHelper;
public class VoucherCodeToNameTag extends TagSupport {
protected String code = "";
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public int doStartTag() throws JspException {
//解析表达式
evaluateExpressions();
//如果属性值为NUll或者为"",则不进行转换
if(StringUtils.isBlank(code)) {
return super.doStartTag();
}
try {
String name = null;
StringBuffer sql = new StringBuffer();
sql.append("select * from FEE_VOUCHER_INFO where VOUCHER_ID='");
sql.append(code);
sql.append("'");
CachedRowSet rs = DaoUtil.executeQuery(sql.toString());
ArrayList list = BeanHelper.mapBeansByRS(rs, FeeVoucherInfo.class);
if(list.size() > 0){
name = ((FeeVoucherInfo)list.get(0)).getVoucherName();
}
this.pageContext.getOut().print(StringUtils.trimToEmpty(name));
} catch (Exception e) {
e.printStackTrace();
}
return SKIP_BODY;
}
private void evaluateExpressions() {
try {
code = (String) ExpressionUtil.evalNotNull("VoucherCodeToName", "code", code, java.lang.Object.class, this, pageContext); //第一个参数为这个标签的名称
}
catch(Exception ex) {
code = null;
}
}
}
标签:EL,code,String,自定义,util,JSP,itown,import,com From: https://blog.51cto.com/u_16080829/6209383