package org.theonefx.wcframework.mvc.wcweb; import javax.servlet.http.HttpServletRequest; import org.theonefx.wcframework.utils.StringUtils; /** * @File : RequestPath.java * @ClassName : RequestPath * @Author : 陈曦 * @Date : 2012-4-1 下午02:35:13 * @Version : v1.0 * @Description : 请求路径包装器 */ public class RequestPather { private String url; private String path; private String suffix; public RequestPather(String req) { String url = req; setUrl(url); if (null != url) { int lio = 0; if (!url.endsWith("/")) { int ll = url.lastIndexOf('/'); lio = url.lastIndexOf('.'); if (lio < ll) lio = -1; } if (lio > 0) { setPath(url.substring(0, lio)); setSuffix(url.substring(lio + 1)); } else { setPath(url); setSuffix(""); } } else { setPath(""); setSuffix(""); } } public RequestPather(HttpServletRequest req) { String url = req.getPathInfo(); if (null == url) url = req.getServletPath(); setUrl(url); if (null != url) { int lio = 0; if (!url.endsWith("/")) { int ll = url.lastIndexOf('/'); lio = url.lastIndexOf('.'); if (lio < ll) lio = -1; } if (lio > 0) { setPath(url.substring(0, lio)); setSuffix(url.substring(lio + 1)); } else { setPath(url); setSuffix(""); } } else { setPath(""); setSuffix(""); } } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public String getSuffix() { return suffix; } public void setSuffix(String suffix) { this.suffix = suffix; } @Override public String toString() { return StringUtils.isBlank(suffix) ? path : path + "." + suffix; } }