- 浏览: 45456 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
ljl961890233bear:
我也遇到这个问题了。。。
解决UNION速度慢 -
z-one:
楼主厉害 我刚好遇到类似问题,先试试看
解决UNION速度慢
/**
* <pre>
* <strong>説明</strong>
* 年月日表示.<BR>
* </pre>
*
* <pre>
* <strong>注意事項:</strong>
* </pre>
*
* <pre>
* <strong>使用例:</strong>
* <tes:dateSelect />
* </pre>
*
* @author $$Author: tochou $$
* @version $$Revision: 1.1 $$ $$Date: 2010/08/24 04:29:25 $$TagUtils
*/
public class NDateSelect extends TagSupport {
private static final long serialVersionUID = 3570821152377804544L;
/** フォーム名称 */
private String name;
/** プロパティ*/
private String property;
/** 開始日かどうか **/
private Boolean isStart;
/** タブ順 **/
private int tabindex;
/**
* <TT><PRE>
* <p> タイトル表示処理 </p>
*
* @return SKIP_BODY
* @throws JspException
* 結果の出力に失敗したときにスローされます.
* @see javax.servlet.jsp.tagext.TagSupport#doStartTag() </PRE></TT>
*/
public int doStartTag() throws JspException {
final TagUtils tu = TagUtils.getInstance();
if (StringUtils.isEmpty(name) || StringUtils.isEmpty(property)) { return SKIP_BODY; }
tu.write(pageContext, createHtml());
return SKIP_BODY;
}
/**
* HTML生成処理
*
* @return String
*/
private String createHtml() throws JspException {
final StringBuffer sb = new StringBuffer();
// 年
int startYear = Integer.parseInt(KamsConst.DATASELECT_STARTYEAR);
int endYear = Integer.parseInt(KamsConst.DATASELECT_ENDYEAR);
int selectedYear = -1;
int selectedMonth = -1;
int selectedDay = -1;
//与FORM绑定的关键
String date = KAMSUtil.getString(TagUtils.getInstance().lookup(pageContext, name, property, null));
if (isStart && !KAMSUtil.isNULL(date)) {
selectedYear = Integer.parseInt(date.substring(0, 4));
selectedMonth = Integer.parseInt(date.substring(4, 6));
selectedDay = Integer.parseInt(date.substring(6,);
NSTagUtil.jsStrAdd(sb, "<input type='hidden' id='" + property + "Id' name='" + property + "' value='" + date + "'>");
} else if (!isStart && !KAMSUtil.isNULL(date)) {
selectedYear = Integer.parseInt(date.substring(0, 4));
selectedMonth = Integer.parseInt(date.substring(4, 6));
selectedDay = Integer.parseInt(date.substring(6,);
NSTagUtil.jsStrAdd(sb, "<input type='hidden' id='" + property + "Id' name='" + property + "' value='" + date + "'>");
} else {
NSTagUtil.jsStrAdd(sb, "<input type='hidden' id='" + property + "Id' name='" + property + "' value=''>");
}
NSTagUtil.jsStrAdd(sb, "<select id='year_" + property + "' tabindex='" + tabindex + "' onchange='" + property + "_yearOnChange(this)'>");
NSTagUtil.jsStrAdd(sb, "<option value=''></option>");
for (int year = startYear; year <= endYear; year++) {
if (year == selectedYear) {
NSTagUtil.jsStrAdd(sb, "<option selected= 'selected' value='" + year + "'>" + year + "</option>");
} else {
NSTagUtil.jsStrAdd(sb, "<option value='" + year + "'>" + year + "</option>");
}
}
NSTagUtil.jsStrAdd(sb, "</select>年");
// 月
NSTagUtil.jsStrAdd(sb, "<select id='month_" + property + "' " + (selectedMonth != -1 ? "" : "disabled='disabled'") + " onchange='" + property + "_monthOnChange(this.value)'>");
NSTagUtil.jsStrAdd(sb, "<option value=''></option>");
for (int month = 1; month <= 12; month++) {
if (month == selectedMonth) {
NSTagUtil.jsStrAdd(sb, "<option selected= 'selected' value='" + String.format("%02d", month) + "'>" + month + "</option>");
} else {
NSTagUtil.jsStrAdd(sb, "<option value='" + String.format("%02d", month) + "'>" + month + "</option>");
}
}
NSTagUtil.jsStrAdd(sb, "</select>月");
// 日
NSTagUtil.jsStrAdd(sb, "<select id='day_" + property + "' " + (selectedDay != -1 ? "" : "disabled='disabled'") + " onchange='" + property + "_dayOnChange(this)'>");
NSTagUtil.jsStrAdd(sb, "<option value=''></option>");
for (int day = 1; day <= 31; day++) {
if (day == selectedDay) {
NSTagUtil.jsStrAdd(sb, "<option selected= 'selected' value='" + String.format("%02d", day) + "'>" + day + "</option>");
} else {
NSTagUtil.jsStrAdd(sb, "<option value='" + String.format("%02d", day) + "'>" + day + "</option>");
}
}
NSTagUtil.jsStrAdd(sb, "</select>日");
// スクリプト
NSTagUtil.jsStrAdd(sb, "<script type='text/javascript'>");
NSTagUtil.jsStrAdd(sb, "var MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];");
NSTagUtil.jsStrAdd(sb, "function " + property + "_yearOnChange(obj) {");
NSTagUtil.jsStrAdd(sb, " var date = document.getElementById('" + property + "Id');");
NSTagUtil.jsStrAdd(sb, " var month = document.getElementById('month_" + property + "');");
NSTagUtil.jsStrAdd(sb, " var day = document.getElementById('day_" + property + "');");
NSTagUtil.jsStrAdd(sb, " if(obj.value == '') {");
NSTagUtil.jsStrAdd(sb, " month.disabled = 'disabled';");
NSTagUtil.jsStrAdd(sb, " day.disabled = 'disabled';");
NSTagUtil.jsStrAdd(sb, " month.selectedIndex = 0;");
NSTagUtil.jsStrAdd(sb, " day.selectedIndex = 0;");
NSTagUtil.jsStrAdd(sb, " date.value = '';");
NSTagUtil.jsStrAdd(sb, " return;");
NSTagUtil.jsStrAdd(sb, " } else {");
NSTagUtil.jsStrAdd(sb, " month.disabled = '';");
NSTagUtil.jsStrAdd(sb, " day.disabled = '';");
NSTagUtil.jsStrAdd(sb, " var MMvalue = month.options[month.selectedIndex].value;");
NSTagUtil.jsStrAdd(sb, " var DDvalue = day.options[day.selectedIndex].value;");
if (isStart) {
NSTagUtil.jsStrAdd(sb, " date.value = obj.value + (MMvalue == '' ? '01' : MMvalue) + (DDvalue == '' ? '01' : DDvalue);");
} else {
NSTagUtil.jsStrAdd(sb, " date.value = obj.value + (MMvalue == '' ? '12' : MMvalue) + (DDvalue == '' ? '31' : DDvalue);");
}
NSTagUtil.jsStrAdd(sb, " if (MMvalue == '') return;");
NSTagUtil.jsStrAdd(sb, " var n = MonHead[MMvalue - 1];");
NSTagUtil.jsStrAdd(sb, " if (MMvalue == 2 && isLeapYear(obj.value)) {");
NSTagUtil.jsStrAdd(sb, " n++;" + property + "_writeDay(n);");
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "function " + property + "_monthOnChange(val) {");
NSTagUtil.jsStrAdd(sb, " var date = document.getElementById('" + property + "Id');");
NSTagUtil.jsStrAdd(sb, " var year = document.getElementById('year_" + property + "');");
NSTagUtil.jsStrAdd(sb, " var YYYYvalue = year.options[year.selectedIndex].value;");
NSTagUtil.jsStrAdd(sb, " if (val == '') {");
NSTagUtil.jsStrAdd(sb, " val =" + (isStart ? "'01'" : "'12'") + ";");
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, " date.value = date.value.substring(0,4) + val + date.value.substring(6,8);");
NSTagUtil.jsStrAdd(sb, " var n = MonHead[val - 1];");
NSTagUtil.jsStrAdd(sb, " if (val == 2 && isLeapYear(YYYYvalue)) n++;");
NSTagUtil.jsStrAdd(sb, " " + property + "_writeDay(n)");
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "function " + property + "_dayOnChange(obj) {");
NSTagUtil.jsStrAdd(sb, " var val = obj.value;");
NSTagUtil.jsStrAdd(sb, " if (val == '') {");
if (isStart) {
NSTagUtil.jsStrAdd(sb, " val = '01';");
} else {
NSTagUtil.jsStrAdd(sb, " val = obj.options.length - 1;");
}
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, " var date = document.getElementById('" + property + "Id');");
NSTagUtil.jsStrAdd(sb, " date.value = date.value.substring(0,6) + val;");
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "function " + property + "_writeDay(n) {");
NSTagUtil.jsStrAdd(sb, " var day = document.getElementById('day_" + property + "');");
NSTagUtil.jsStrAdd(sb, " if(day.options.length == n+1) return;");
NSTagUtil.jsStrAdd(sb, " var index = day.selectedIndex;");
NSTagUtil.jsStrAdd(sb, " day.options.length = 29;");
NSTagUtil.jsStrAdd(sb, " for (var i = 29; i < n+1; i++) {");
NSTagUtil.jsStrAdd(sb, " day.options.add(new Option(i,i));");
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, " day.selectedIndex = (index > day.options.length-1 ? day.options.length-1 : index);");
if (!isStart) {
NSTagUtil.jsStrAdd(sb, " if(day.selectedIndex == 0) {");
NSTagUtil.jsStrAdd(sb, " var date = document.getElementById('" + property + "Id');");
NSTagUtil.jsStrAdd(sb, " date.value = date.value.substring(0,6) + (day.options.length-1).toString();");
NSTagUtil.jsStrAdd(sb, " }");
}
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "function isLeapYear(year) {");
NSTagUtil.jsStrAdd(sb, " return (0 == year % 4 && (year % 100 != 0 || year % 400 == 0))");
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "</script>");
return sb.toString();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
public Boolean getIsStart() {
return isStart;
}
public void setIsStart(Boolean isStart) {
this.isStart = isStart;
}
public int getTabindex() {
return tabindex;
}
public void setTabindex(int tabindex) {
this.tabindex = tabindex;
}
}
* <pre>
* <strong>説明</strong>
* 年月日表示.<BR>
* </pre>
*
* <pre>
* <strong>注意事項:</strong>
* </pre>
*
* <pre>
* <strong>使用例:</strong>
* <tes:dateSelect />
* </pre>
*
* @author $$Author: tochou $$
* @version $$Revision: 1.1 $$ $$Date: 2010/08/24 04:29:25 $$TagUtils
*/
public class NDateSelect extends TagSupport {
private static final long serialVersionUID = 3570821152377804544L;
/** フォーム名称 */
private String name;
/** プロパティ*/
private String property;
/** 開始日かどうか **/
private Boolean isStart;
/** タブ順 **/
private int tabindex;
/**
* <TT><PRE>
* <p> タイトル表示処理 </p>
*
* @return SKIP_BODY
* @throws JspException
* 結果の出力に失敗したときにスローされます.
* @see javax.servlet.jsp.tagext.TagSupport#doStartTag() </PRE></TT>
*/
public int doStartTag() throws JspException {
final TagUtils tu = TagUtils.getInstance();
if (StringUtils.isEmpty(name) || StringUtils.isEmpty(property)) { return SKIP_BODY; }
tu.write(pageContext, createHtml());
return SKIP_BODY;
}
/**
* HTML生成処理
*
* @return String
*/
private String createHtml() throws JspException {
final StringBuffer sb = new StringBuffer();
// 年
int startYear = Integer.parseInt(KamsConst.DATASELECT_STARTYEAR);
int endYear = Integer.parseInt(KamsConst.DATASELECT_ENDYEAR);
int selectedYear = -1;
int selectedMonth = -1;
int selectedDay = -1;
//与FORM绑定的关键
String date = KAMSUtil.getString(TagUtils.getInstance().lookup(pageContext, name, property, null));
if (isStart && !KAMSUtil.isNULL(date)) {
selectedYear = Integer.parseInt(date.substring(0, 4));
selectedMonth = Integer.parseInt(date.substring(4, 6));
selectedDay = Integer.parseInt(date.substring(6,);
NSTagUtil.jsStrAdd(sb, "<input type='hidden' id='" + property + "Id' name='" + property + "' value='" + date + "'>");
} else if (!isStart && !KAMSUtil.isNULL(date)) {
selectedYear = Integer.parseInt(date.substring(0, 4));
selectedMonth = Integer.parseInt(date.substring(4, 6));
selectedDay = Integer.parseInt(date.substring(6,);
NSTagUtil.jsStrAdd(sb, "<input type='hidden' id='" + property + "Id' name='" + property + "' value='" + date + "'>");
} else {
NSTagUtil.jsStrAdd(sb, "<input type='hidden' id='" + property + "Id' name='" + property + "' value=''>");
}
NSTagUtil.jsStrAdd(sb, "<select id='year_" + property + "' tabindex='" + tabindex + "' onchange='" + property + "_yearOnChange(this)'>");
NSTagUtil.jsStrAdd(sb, "<option value=''></option>");
for (int year = startYear; year <= endYear; year++) {
if (year == selectedYear) {
NSTagUtil.jsStrAdd(sb, "<option selected= 'selected' value='" + year + "'>" + year + "</option>");
} else {
NSTagUtil.jsStrAdd(sb, "<option value='" + year + "'>" + year + "</option>");
}
}
NSTagUtil.jsStrAdd(sb, "</select>年");
// 月
NSTagUtil.jsStrAdd(sb, "<select id='month_" + property + "' " + (selectedMonth != -1 ? "" : "disabled='disabled'") + " onchange='" + property + "_monthOnChange(this.value)'>");
NSTagUtil.jsStrAdd(sb, "<option value=''></option>");
for (int month = 1; month <= 12; month++) {
if (month == selectedMonth) {
NSTagUtil.jsStrAdd(sb, "<option selected= 'selected' value='" + String.format("%02d", month) + "'>" + month + "</option>");
} else {
NSTagUtil.jsStrAdd(sb, "<option value='" + String.format("%02d", month) + "'>" + month + "</option>");
}
}
NSTagUtil.jsStrAdd(sb, "</select>月");
// 日
NSTagUtil.jsStrAdd(sb, "<select id='day_" + property + "' " + (selectedDay != -1 ? "" : "disabled='disabled'") + " onchange='" + property + "_dayOnChange(this)'>");
NSTagUtil.jsStrAdd(sb, "<option value=''></option>");
for (int day = 1; day <= 31; day++) {
if (day == selectedDay) {
NSTagUtil.jsStrAdd(sb, "<option selected= 'selected' value='" + String.format("%02d", day) + "'>" + day + "</option>");
} else {
NSTagUtil.jsStrAdd(sb, "<option value='" + String.format("%02d", day) + "'>" + day + "</option>");
}
}
NSTagUtil.jsStrAdd(sb, "</select>日");
// スクリプト
NSTagUtil.jsStrAdd(sb, "<script type='text/javascript'>");
NSTagUtil.jsStrAdd(sb, "var MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];");
NSTagUtil.jsStrAdd(sb, "function " + property + "_yearOnChange(obj) {");
NSTagUtil.jsStrAdd(sb, " var date = document.getElementById('" + property + "Id');");
NSTagUtil.jsStrAdd(sb, " var month = document.getElementById('month_" + property + "');");
NSTagUtil.jsStrAdd(sb, " var day = document.getElementById('day_" + property + "');");
NSTagUtil.jsStrAdd(sb, " if(obj.value == '') {");
NSTagUtil.jsStrAdd(sb, " month.disabled = 'disabled';");
NSTagUtil.jsStrAdd(sb, " day.disabled = 'disabled';");
NSTagUtil.jsStrAdd(sb, " month.selectedIndex = 0;");
NSTagUtil.jsStrAdd(sb, " day.selectedIndex = 0;");
NSTagUtil.jsStrAdd(sb, " date.value = '';");
NSTagUtil.jsStrAdd(sb, " return;");
NSTagUtil.jsStrAdd(sb, " } else {");
NSTagUtil.jsStrAdd(sb, " month.disabled = '';");
NSTagUtil.jsStrAdd(sb, " day.disabled = '';");
NSTagUtil.jsStrAdd(sb, " var MMvalue = month.options[month.selectedIndex].value;");
NSTagUtil.jsStrAdd(sb, " var DDvalue = day.options[day.selectedIndex].value;");
if (isStart) {
NSTagUtil.jsStrAdd(sb, " date.value = obj.value + (MMvalue == '' ? '01' : MMvalue) + (DDvalue == '' ? '01' : DDvalue);");
} else {
NSTagUtil.jsStrAdd(sb, " date.value = obj.value + (MMvalue == '' ? '12' : MMvalue) + (DDvalue == '' ? '31' : DDvalue);");
}
NSTagUtil.jsStrAdd(sb, " if (MMvalue == '') return;");
NSTagUtil.jsStrAdd(sb, " var n = MonHead[MMvalue - 1];");
NSTagUtil.jsStrAdd(sb, " if (MMvalue == 2 && isLeapYear(obj.value)) {");
NSTagUtil.jsStrAdd(sb, " n++;" + property + "_writeDay(n);");
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "function " + property + "_monthOnChange(val) {");
NSTagUtil.jsStrAdd(sb, " var date = document.getElementById('" + property + "Id');");
NSTagUtil.jsStrAdd(sb, " var year = document.getElementById('year_" + property + "');");
NSTagUtil.jsStrAdd(sb, " var YYYYvalue = year.options[year.selectedIndex].value;");
NSTagUtil.jsStrAdd(sb, " if (val == '') {");
NSTagUtil.jsStrAdd(sb, " val =" + (isStart ? "'01'" : "'12'") + ";");
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, " date.value = date.value.substring(0,4) + val + date.value.substring(6,8);");
NSTagUtil.jsStrAdd(sb, " var n = MonHead[val - 1];");
NSTagUtil.jsStrAdd(sb, " if (val == 2 && isLeapYear(YYYYvalue)) n++;");
NSTagUtil.jsStrAdd(sb, " " + property + "_writeDay(n)");
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "function " + property + "_dayOnChange(obj) {");
NSTagUtil.jsStrAdd(sb, " var val = obj.value;");
NSTagUtil.jsStrAdd(sb, " if (val == '') {");
if (isStart) {
NSTagUtil.jsStrAdd(sb, " val = '01';");
} else {
NSTagUtil.jsStrAdd(sb, " val = obj.options.length - 1;");
}
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, " var date = document.getElementById('" + property + "Id');");
NSTagUtil.jsStrAdd(sb, " date.value = date.value.substring(0,6) + val;");
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "function " + property + "_writeDay(n) {");
NSTagUtil.jsStrAdd(sb, " var day = document.getElementById('day_" + property + "');");
NSTagUtil.jsStrAdd(sb, " if(day.options.length == n+1) return;");
NSTagUtil.jsStrAdd(sb, " var index = day.selectedIndex;");
NSTagUtil.jsStrAdd(sb, " day.options.length = 29;");
NSTagUtil.jsStrAdd(sb, " for (var i = 29; i < n+1; i++) {");
NSTagUtil.jsStrAdd(sb, " day.options.add(new Option(i,i));");
NSTagUtil.jsStrAdd(sb, " }");
NSTagUtil.jsStrAdd(sb, " day.selectedIndex = (index > day.options.length-1 ? day.options.length-1 : index);");
if (!isStart) {
NSTagUtil.jsStrAdd(sb, " if(day.selectedIndex == 0) {");
NSTagUtil.jsStrAdd(sb, " var date = document.getElementById('" + property + "Id');");
NSTagUtil.jsStrAdd(sb, " date.value = date.value.substring(0,6) + (day.options.length-1).toString();");
NSTagUtil.jsStrAdd(sb, " }");
}
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "function isLeapYear(year) {");
NSTagUtil.jsStrAdd(sb, " return (0 == year % 4 && (year % 100 != 0 || year % 400 == 0))");
NSTagUtil.jsStrAdd(sb, "}");
NSTagUtil.jsStrAdd(sb, "</script>");
return sb.toString();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
public Boolean getIsStart() {
return isStart;
}
public void setIsStart(Boolean isStart) {
this.isStart = isStart;
}
public int getTabindex() {
return tabindex;
}
public void setTabindex(int tabindex) {
this.tabindex = tabindex;
}
}
发表评论
-
java基础框架技巧
2012-07-14 16:43 01.使用泛型 -
ANT自动发布
2012-01-18 16:18 0<?xml version="1.0&q ... -
Property文件读取
2012-01-10 15:54 0public class Properties { ... -
eclipse 实用插件收藏
2011-12-07 11:30 742SVN插件 http://subclipse.tigris ... -
收藏 图片缩放处理
2011-11-04 15:55 0package graphicsTest; imp ... -
MS932转换SHIFT_JIS特殊字符处理
2011-11-03 15:56 0StringBuffer strBuf = new Strin ... -
SAX解析XML
2011-11-03 15:22 598// イニシャルコンテキスト取得 Context ... -
JAVA并发编程笔记
2011-08-29 09:12 01.多进程技术不是也 ... -
设计模式串烧
2011-08-15 15:45 01.简单工厂模式 a工厂模式分为简单工厂模式,工厂方法模式, ... -
再读JAVA编程思想笔记
2011-08-04 14:52 0http://caterpillar.onlyfun.net/ ... -
SWT BROWSER 爬虫代码
2011-05-20 16:05 0package com.pceggs.lucky.rob ... -
处理中文文件名下载问题
2011-05-18 10:06 586String filePath = super.rea ... -
国际化
2011-04-08 13:43 0package xfile.util; impor ... -
Robot自动踩人气(二)
2011-04-08 13:38 0com.pceggs.lucky.ui包 pa ... -
Robot自动踩人气(一)
2011-04-08 13:23 0com.pceggs.lucky.robot包 p ... -
工具类方法收集
2011-04-08 13:18 0/** * 获取该资源 ... -
弹出文件选择框
2011-03-29 14:19 692<input type="text" ... -
收藏 TOMCAT优化
2011-03-26 13:42 587在Tomcat和应用程序进行了压力测试后,如果您对应用程序的性 ... -
Java中用Robot类控制鼠标和键盘的方法
2011-03-24 13:03 0Java中用Robot类控制鼠标和键盘的方法 时间:2011- ... -
GET方式传参防止乱码
2011-03-15 16:58 776方案一 ================ [页面传参方式:] ...
相关推荐
ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的...自定义系统的About项 修改系统级菜单 实现透明窗体效果 爆破特技窗体 只允许建立一次子窗体的MDI程序 从外部DLL中调用子...
Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接与浏览,Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件...
Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接与浏览,Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件...
24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...
24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...
24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...
24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...
它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义...