	public void render(HttpServletRequest req, HttpServletResponse resp, Object obj)
			throws Exception {
		Mirror<?> mirror = Mirror.me(obj);
		boolean isMap = null != obj && obj instanceof Map<?, ?>;
		Map<?, ?> map = (Map<?, ?>) obj;
		Set<String> keySet = dest.keys();
		Iterator<String> it = keySet.iterator();
		while (it.hasNext()) {
			String key = it.next();
			Object value = null;
			int length = key.length();
			if (key.startsWith("p.") && length > 2) {
				value = req.getParameter(key.substring(2));
			}
			else if (isMap && key.startsWith("obj.") && length > 4) {
				value = map.get(key);
			}
			else if (null != mirror && key.startsWith("obj.") && length > 4) {
				value = mirror.getValue(obj, key.substring(4));
			}
			else {
				value = obj;
			}
			if (null == value)
				value = obj;
			dest.set(key, value);
		}
		String path = dest.toString();
		if (path.startsWith("http://") || path.startsWith("https://")) {}
		else if (path.startsWith("/")) {
			path = req.getContextPath() + path;
		}
		else {
			String myPath = req.getPathInfo();
			int pos = myPath.lastIndexOf('/');
			if (pos > 0)
				path = myPath.substring(0, pos) + "/" + path;
			else
				path = "/" + path;
		}
		resp.sendRedirect(path);
		resp.flushBuffer();
	}

	public void render(HttpServletRequest req, HttpServletResponse resp, Object obj)
			throws Exception {
		Mirror<?> mirror = Mirror.me(obj);
		boolean isMap = null != obj && obj instanceof Map<?, ?>;
		Map<?, ?> map = isMap ? null : (Map<?, ?>) obj;
		Set<String> keySet = dest.keys();
		Iterator<String> it = keySet.iterator();
		while (it.hasNext()) {
			String key = it.next();
			Object value = null;
			int length = key.length();
			if (key.startsWith("p.") && length > 2) {
				value = req.getParameter(key.substring(2));
			}
			else if (isMap && key.startsWith("obj.") && length > 4) {
				value = map.get(key);
			}
			else if (null != mirror && key.startsWith("obj.") && length > 4) {
				value = mirror.getValue(obj, key.substring(4));
			}
			else {
				value = obj;
			}
			if (null == value)
				value = obj;
			dest.set(key, value);
		}
		String path = dest.toString();
		if (path.startsWith("http://") || path.startsWith("https://")) {}
		else if (path.startsWith("/")) {
			path = req.getContextPath() + path;
		}
		else {
			String myPath = req.getPathInfo();
			int pos = myPath.lastIndexOf('/');
			if (pos > 0)
				path = myPath.substring(0, pos) + "/" + path;
			else
				path = "/" + path;
		}
		resp.sendRedirect(path);
		resp.flushBuffer();
	}
