📄 html.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 ? "¤tPage="
: "?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 + -