您的位置:首页 > Web前端 > JavaScript

JSP自定义标签<base>

2014-01-07 16:04 405 查看
/**
* 生成<base href="xxx"/>标签
* @author zhaohuihua
*/
public class BaseTag extends TagSupport {

private static final String BASE = "<base href=\"{0}://{1}:{2}{3}/\" />";
@Override
public int doEndTag() throws JspException {
// 获取请求对象
HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
// 获取各项请求参数
String scheme = request.getScheme();
String host = request.getServerName();
String port = String.valueOf(request.getServerPort());
String path = request.getContextPath();
// 生成<base>标签
String base = MessageFormat.format(BASE, scheme, host, port, path);
try {
// 输出<base>标签
JspWriter out = pageContext.getOut();
out.println(base);
} catch (IOException e) {
e.printStackTrace();
}
return EVAL_PAGE;
}
}


<?xml version="1.0" encoding="UTF-8"?>
<!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>2.2.3</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>zhh</short-name>
<uri>/zhh-tags</uri>
<display-name>"user defined tags"</display-name>
<tag>
<name>base</name>
<tag-class>zhh.tags.BaseTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>


<%@ taglib prefix="z" uri="/zhh-tags"%>
<head>
<z:base/>
...
</head>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: