⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 html.java

📁 EasyJWeb是基于java技术
💻 JAVA
字号:
package com.easyjf.web.tools.widget;

import com.easyjf.web.ActionContext;
import com.easyjf.web.Globals;
import com.easyjf.web.IPathMappingRuler;
import com.easyjf.web.WebInvocationParam;
import com.easyjf.web.tools.AutoChangeLink;

/**
 * 页面自动载入javascript css 等资源
 * 
 * @author WLR 13:36 2007-6-30
 * 
 */
public class Html {

	public final static String SHOW_HTML_PAGE = "showHtmlPage";
	private static Html singleton = new Html();

	public static Html getInstance() {
		return singleton;
	}

	private Html() {
	}

	public String getToken() {
		String token = (String) ActionContext.getContext().getSession()
				.getAttribute(Globals.TOKEN_NAME);
		if (token == null || "".equals(token)) {
			return null;
		} else {
			return "<input type=\"hidden\" id=\"" + Globals.TOKEN_NAME
					+ "\" name=\"" + Globals.TOKEN_NAME + "\" value=\"" + token
					+ "\" />";
		}
	}

	public String js(String path) {
		String s[] = path.split(",");
		String ret = "";
		for (int i = 0; i < s.length; i++) {
			String f = s[i];
			if (!f.endsWith(".js"))
				f = (new StringBuilder(String.valueOf(f))).append(".js")
						.toString();
			s[i] = f;
			ret = (new StringBuilder(String.valueOf(ret))).append(
					"<script type=\"text/javascript\" src=\"").append(f)
					.append("\"></script>\r\n").toString();
		}

		return ret;
	}

	public String css(String path) {
		String s[] = path.split(",");
		String ret = "";
		for (int i = 0; i < s.length; i++) {
			String f = s[i];
			if (!f.endsWith(".css"))
				f = (new StringBuilder(String.valueOf(f))).append(".css")
						.toString();
			s[i] = f;
			ret = (new StringBuilder(String.valueOf(ret))).append(
					"<link rel=\"stylesheet\" type=\"text/css\" href=\"")
					.append(f).append("\" />\r\n").append(
							"<style type=\"text/css\">\r\n").append(
							"\t@import url(\"").append(f).append("\");\r\n")
					.append("</style>\r\n").toString();
		}

		return ret;
	}

	public String extjs() {
		String f = "";
		f = (new StringBuilder(String.valueOf(f))).append(
				css("/plugins/ext/resources/css/ext-all")).toString();
		f = (new StringBuilder(String.valueOf(f))).append(
				js("/plugins/ext/adapter/yui/yui-utilities")).toString();
		f = (new StringBuilder(String.valueOf(f))).append(
				js("/plugins/ext/adapter/yui/ext-yui-adapter")).toString();
		f = (new StringBuilder(String.valueOf(f))).append(
				js("/plugins/ext/ext-all")).toString();
		return f;
	}
	public String tinymce(){
		String f="";
		f = (new StringBuilder(String.valueOf(f))).append(
				js("javascript/tiny_mce/tiny_mce")).toString();
//		f = (new StringBuilder(String.valueOf(f))).append(
//				js("javascript/tiny_mce/inittinymce")).toString();
		return f;
	}
	/*
	<link rel="stylesheet" type="text/css" media="all" href="../javascript/jscalendar-1.0/calendar-brown.css" title="summer" />
	<script type="text/javascript" src="../javascript/jscalendar-1.0/calendar.js"></script>
	<script type="text/javascript" src="../javascript/jscalendar-1.0/lang/cn_utf8.js"></script>
	<script type="text/javascript" src="../javascript/calendar/initcalendar.js"></script>
	*/
	public String calendar() {
		String f = "";
		f = (new StringBuilder(String.valueOf(f))).append(
				css("javascript/jscalendar-1.0/calendar-brown")).toString();
		f = (new StringBuilder(String.valueOf(f))).append(
				js("javascript/jscalendar-1.0/calendar")).toString();
		f = (new StringBuilder(String.valueOf(f))).append(
				js("javascript/jscalendar-1.0/lang/cn_utf8")).toString();
		f = (new StringBuilder(String.valueOf(f))).append(
				js("javascript/calendar/initcalendar")).toString();
		return f;
	}

	public String showCalendar(String element){
		return showCalendar(element,"%Y-%m-%d");
	}
	public String showCalendar(String element,String format){
		String s="<img src=\"/images/icons/dateselect.gif\" border=\"0\" alt=\"请选择\" onclick=\"return showCalendar('"+element+"', '"+format+"');\" />";
		System.out.println(s);
		return s;
	}
	/**
	 * 自动加载easyjweb所需js和css文件到页面
	 */
	public String easyjweb() {
		String f = "";
		f = (new StringBuilder(String.valueOf(f))).append(
				js("/javascript/easyjweb/default")).toString();
		f = (new StringBuilder(String.valueOf(f))).append(
				css("/stylesheet/easyjweb/default")).toString();
		return f;
	}

	public String ajaxValidate(String name) {
		String ret = "";
		ret += " onsubmit=\"return function(){alert('执行ajax验证');return true;}();\"";
		return ret;
	}

	public String url(String url) {
		ActionContext context = ActionContext.getContext();
		String ret = url;
		try {
		
		if(ret.charAt(0)=='/')ret=ret.substring(1);
		if (context != null) {
			if (context.getWebInvocationParam() != null
					&& !IPathMappingRuler.CLASSIC_PATTERN.equals(context
							.getWebInvocationParam().getUrlType()))
				ret = context.getRequest().getContextPath() + "/ejf/" + ret;
			else
				ret = context.getRequest().getContextPath() + "/" + ret;
		}
		} catch (Exception e) {
			
			//			e.printStackTrace();
			
		}
		return ret;
	}

	public String forward(String command) {
		ActionContext context = ActionContext.getContext();
		String cmd = command, ret = "";
		if (context != null) {
			WebInvocationParam param = context.getWebInvocationParam();
			String module = param.getModule().getPath();
			if (command.indexOf('.') > 0)// 若包含.格式的跳转,则为module.command的形式
			{
				module = "/" + command.substring(0, command.indexOf('.'));
				cmd = command.substring(command.indexOf('.') + 1);
			}
			Object showHtmlPage = param.getForm().get(SHOW_HTML_PAGE);
			if (module.charAt(0) != '/')
				module = "/" + module;
			if ("true".equals(showHtmlPage)) {
				ret = module + "/" + cmd + ".html";
			} else {
				if (IPathMappingRuler.CLASSIC_PATTERN
						.equals(param.getUrlType())) {
					ret = context.getRequest().getContextPath() + module
							+ ".ejf?cmd=" + cmd;
				} else
					ret = ret = context.getRequest().getContextPath() + "/ejf"
							+ module + "/" + cmd;
			}
		}
		return ret;
	}

	public String autoLink(AutoChangeLink obj) {
		return url(isShowHtmlPage() ? obj.getStaticUrl() : obj.getDynamicUrl());

	}
	/**
	 * 用来自动处理基于具有分页列表的html连接
	 * @param url 形如[module.comand/sn=mvc/1.]这种格式的字符串
	 * @return
	 */
	public String autoLink(String url) {
		String suffix = "";
		String p = isShowHtmlPage() ? handleModuleCmdHtml(url)
				: handleModuleCmdUrl(url);
		if (isShowHtmlPage()) {
			p = "/" + p;
			suffix = ".html";
		} else {
			String mark = p.indexOf('?') >= 0 ? "&currentPage="
					: "?currentPage=";
			p += mark;
		}
		if(url.charAt(url.length()-2)=='.')p=p+"1"+suffix;
		return url(p);
	}
	public boolean isShowHtmlPage() {
		boolean ret = false;
		ActionContext context = ActionContext.getContext();
		if (context != null) {
			WebInvocationParam param = context.getWebInvocationParam();
			ret = "true".equals(param.getForm().get(SHOW_HTML_PAGE));
		}
		return ret;
	}

	/*
	 * [news.tutorial]对应news.ejf?cmd=tutorial 对应的静态文件为news/tutorial/xx.htm
	 * [news.list/dirSn.type]=news.ejf?cmd=list&dirSn=WebForm.get(dirSn)&type=WebForm.get(type)
	 * 对应的静态文件为news/list/WebForm.get(dirSn)/WebForm.get(type)
	 */
	public String handleModuleCmdUrl(String ms) {
		String u = ms;
		if (u.charAt(0) != '[')
			return ms;
		String[] ps = ms.substring(1, ms.length() - 1).split("/");
		String module_cmd = ps[0];
		if (module_cmd.indexOf(".") > 0) {
			String module = module_cmd.substring(0, module_cmd.indexOf("."));
			String cmd = module_cmd.substring(module_cmd.indexOf(".") + 1);
			module_cmd = module + ".ejf?cmd=" + cmd + "&";
		} else
			module_cmd += ".ejf?";
		ActionContext context = ActionContext.getContext();
		if (ps.length > 1 && !ps[1].endsWith(".")) {
			String[] params = ps[1].split("\\.");
			if (params != null && params.length > 0) {
				for (int i = 0; i < params.length; i++) {
					module_cmd += params[i];
					if (context != null) {
						WebInvocationParam param = context
								.getWebInvocationParam();
						Object obj = param.getForm().get(params[i]);
						if (obj != null)
							module_cmd += "=" + obj;
					}
					module_cmd += "&";
				}
			}
		}
		return module_cmd;
	}

	/*
	 * [news.tutorial]对应news.ejf?cmd=tutorial 对应的静态文件为news/tutorial/xx.htm
	 * [news.list/dirSn.type]=news.ejf?cmd=list&dirSn=WebForm.get(dirSn)&type=WebForm.get(type)
	 * 对应的静态文件为news/list/WebForm.get(dirSn)/WebForm.get(type)
	 */
	public String handleModuleCmdHtml(String ms) {
		String u = ms;
		if (u.charAt(0) != '[')
			return ms;
		String[] ps = ms.substring(1, ms.length() - 1).split("/");
		String module_cmd = ps[0];
		if (module_cmd.indexOf(".") > 0) {
			String module = module_cmd.substring(0, module_cmd.indexOf("."));
			String cmd = module_cmd.substring(module_cmd.indexOf(".") + 1);
			module_cmd = module + "/" + cmd + "/";
		} else
			module_cmd += "/";
		ActionContext context = ActionContext.getContext();
		if (ps.length > 1 && !ps[1].endsWith(".")) {
			String[] params = ps[1].split("\\.");
			if (params != null && params.length > 0) {
				for (int i = 0; i < params.length; i++) {
					if (context != null) {
						WebInvocationParam param = context
								.getWebInvocationParam();
						String[] pars = params[i].split("=");
						if (pars.length > 1)
							module_cmd += pars[1];
						else {
							Object obj = param.getForm().get(pars[0]);
							if (obj != null)
								module_cmd += obj;
							else
								module_cmd += pars[0];
						}
					}
					module_cmd += "/";
				}
			}
		}
		return module_cmd;
	}

	public Integer handleModuleCmdMaxPage(String ms) {
		Integer ret = -1;
		String u = ms;
		if (u.charAt(0) != '[') {
			return ret;
		}
		String[] ps = ms.substring(1, ms.length() - 1).split("/");
		if (ps.length > 1) {
			String f = ps[ps.length - 1];
			if (f.endsWith("."))
				f = f.substring(0, f.length() - 1);
			try {
				ret = Integer.parseInt(f);
			} catch (java.lang.NumberFormatException e) {

			}
		}
		return ret;
	}

	public static void main(String arg[]) {
		Html h = new Html();
		System.out.println(h.extjs());
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -