<--自定义标签.tld文件-->
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglib_1_1.dtd"> <taglib> <tlibversion>1.0</tlibversion> <jspversion>1.1</jspversion> <shortname>Tag for Travel Server</shortname> <info> The tag library of Travel Server </info> <tag> <name>idName</name> <tagclass>com.chinapay.travelconsole.tools.tag.IdNameTag</tagclass> <bodycontent>JSP</bodycontent> <info>idName tag</info> <attribute> <name>id</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>type</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>
<--.xml文件配置-->
<taglib> <taglib-uri>/tags/travelCommon</taglib-uri> <taglib-location>/WEB-INF/tld/travel-common.tld</taglib-location> </taglib>
<---com.chinapay.travelconsole.tools.tag.IdNameTag java类-->
public class IdNameTag extends TagSupport {
private static final long serialVersionUID = -6270472760008331633L;
/**
* 数据ID。根据此id获取name
*/
private String id;/**
* 获取的数据源。对应的类。
*/
private String type;public void setId(String id) {
this.id = id;
}public void setType(String type) {
this.type = type;
}public int doStartTag() throws JspException {
try {
pageContext.getOut().write(getTagBody());
return SKIP_BODY;
} catch (IOException ioe) {
throw new JspException(ioe.getMessage());
}
}public int doEndTag() throws JspException {
return EVAL_PAGE;
}private String getTagBody() throws JspException {
String name = "";
if (IdType.AGENT_CONFIG.equals(type)) {
AgentConfigBean bean = AgentConfigDAO.getAgentConfigBean(id);
if (bean != null) {
name = bean.getName();
}
} else if (IdType.AIRPORT_CODE.equals(type)) {
AirportcodeBean bean = AirportcodeDAO.getAirportcodeBean(id);
if (bean != null) {
name = bean.getAirportZhShort();
}
} else if (IdType.CITYS.equals(type)) {
AirportcodeBean bean = AirportcodeDAO.getAirportcodeBean(id);
if (bean != null) {
String belongtocity = bean.getBelongtocity();
CitysBean citysbean = CitysDAO.getCitysBean(belongtocity);
if (citysbean != null) {
name = citysbean.getCitynameZh();
}
}
} else if (IdType.NATION.equals(type)) {
NationBean bean = NationDAO.getNationBean(id);
if (bean != null) {
name = bean.getNameZh();
}
} else if (IdType.GBPROV.equals(type)) {
GbProvDAO provdao = new GbProvDAO();
name = provdao.getProvName(id);
} else if (IdType.GBCITY.equals(type)) {
GbCityDAO citydao = new GbCityDAO();
String[] code = toCode(id);
name = citydao.getCityName(code[0], code[1]);
} else if (IdType.GBDIST.equals(type)) {
GbDistDAO distdao = new GbDistDAO();
String[] code = toCode(id);
name = distdao.getDistName(code[0], code[1], code[2]);
} else if (IdType.AGENT.equals(type)) {
if ("HuiTongKeService".equals(id)) {
name = "汇通客";
}
} else if (IdType.BRAND.equals(type)) {
HotelBrandDAO dao = new HotelBrandDAO();
name = dao.getHotelBrandName(id);
} else if (IdType.HOTEL_NAME.equals(type)) {
name = HotelDAO.getHotelName(id);
}
return name;
}public static String[] toCode(String key) {
if (StringUtils.isNotEmpty(key)) {
String[] code = key.split("\\|");
return code;
}
return null;
}public static String tokey(String provCode, String cityCode) {
StringBuffer key = new StringBuffer();
if (StringUtils.isNotEmpty(provCode)) {
key.append(provCode);
} else {
key.append("null");
}
if (StringUtils.isNotEmpty(cityCode)) {
key.append("|").append(cityCode);
} else {
key.append("|").append("null");
}
return key.toString();
}public static String tokey(String provCode, String cityCode, String distCode) {
StringBuffer key = new StringBuffer();
if (StringUtils.isNotEmpty(provCode)) {
key.append(provCode);
} else {
key.append("|").append("null");
}
if (StringUtils.isNotEmpty(cityCode)) {
key.append("|").append(cityCode);
} else {
key.append("|").append("null");
}
if (StringUtils.isNotEmpty(distCode)) {
key.append("|").append(distCode);
} else {
key.append("|").append("null");
}
return key.toString();
}
}
public final class IdType {
/** 代理商 */
public final static String AGENT_CONFIG = "0";
/** 机场 */
public final static String AIRPORT_CODE = "1";
/** 城市名称 */
public final static String CITYS = "2";
/** 国籍名称 */
public final static String NATION = "3";
/** 省份 **/
public final static String GBPROV = "4";
/** 城市 **/
public final static String GBCITY = "5";
/** 区县 **/
public final static String GBDIST = "6";
/** 代理商 **/
public final static String AGENT = "7";
/** 所属品牌 **/
public final static String BRAND = "8";
/** 酒店名称 **/
public final static String HOTEL_NAME = "9";
}