此文档会不定时更新,都是自己平时总结获取遇到问题的解决方案,希望对大家有所帮助,更希望大家都提宝贵意见
一 js多次删除数组元素(效果参照:详细技术>多次删除数组.html页面)
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>无标题文档</title>
<scriptlanguage="javascript">
var my
functionaaa(dx,mycars)
{
if(isNaN(dx)||dx>mycars.length){returnfalse;}
for(var i=0,n=0;i<mycars.length;i++)
{
if(mycars[i]!=mycars[dx])
{
mycars[n++]=mycars[i]
}
}
mycars.length=mycars.length-1
my=mycars;
}
functiontest(n){
varmycars=new Array()
mycars[0]="xxx";
mycars[1]="QQQQ";
mycars[2]="WWWW";
mycars[3]="aaaa";
mycars[4]="bbbb";
mycars[5]="ccccc";
var bbb;
if(my!=null&&my.length!=mycars.length){bbb=my;}
else(bbb=mycars)
aaa(n,bbb);
alert(my);
}
</script>
</head>
<body>
<inputtype="text" name="t1" value="">
<inputtype="button" name="" value="test..."οnclick="test(document.all.t1.value);">
</body>
</html>
实现动态连续删除数组元素
二 SVN客户端在MyEclipse6.0下安装及应用
安装SVN:下载SVN解压包,解压后在文件夹下找到features和plugins文件夹(最主要就是这两个文件夹)。复制这两个文件夹到MyEclipse 6.5安装路径下的eclipse文件夹中,全部替换即可。然后重启MyEclipse,在MyEclipse工具栏中按以下步骤进行便可将SVN Repository 添加到MyEclipse的控制台中。
步骤:Window-->ShowView-->Other-->SVN-->SVN Repository
三 刷新访问量脚本(效果参照:详细技术>主刷页.htm)
<HTML>
<HEAD>
<TITLE> 刷新访问量脚本</TITLE>
<METANAME="Generator" CONTENT="EditPlus">
<META NAME="Author"CONTENT="">
<METANAME="Keywords" CONTENT="">
<METANAME="Description" CONTENT="">
</HEAD>
<BODY>
<CENTER><FONTSIZE="6" COLOR="#6600FF">刷新访问量脚本</FONT></CENTER>
<FONT SIZE="5"COLOR="#FF00FF"><CENTER>(默认为: 1 秒打开,10秒关闭,11秒清变量i为 0 )<BR>(可根据源代码自行调节时间以及链接)<BR><BR><input type="button" value="暂停刷新脚本"onClick="window.clearInterval(flushVisit);"/><BR><BR><inputtype="button" value="开始刷新脚本"onClick="startFlush();"/></CENTER></FONT>
<BR><BR><BR>
<pid="p1"></p>
<SCRIPTLANGUAGE="JavaScript">
var i=0;
var zb1=null;
function autoclose()
{
if(i== 1 )
{
zb1=window.open("http://vip.tianjihr.com/Operation/RefreshInvite.aspx?cz=6&id=204597,204602",null);
}
document.all.p1.innerText= i;
if( i== 16 ){i=0; }//重置为0,下一秒(0+1秒)重新开启窗口
if( i == 15 ){zb1.close();}//关闭窗口时间
i++;
}
var flushVisit =null;
function startFlush()
{
flushVisit= null;
flushVisit= window.setInterval( autoclose, 1000 );
}
//window.clearInterval
autoclose();
startFlush();
</SCRIPT>
</BODY>
</HTML>
四 配置jdk环境
1运行jdk可执行文件(假设装在c:\jdk1.3).
2在环境变量中添加:
set JAVA_HOME=c:\jdk1.3
set PATH=%PATH%;%JAVA_HOME%\bin
set CLASSPATH=c:\jdk1.3\lib;c:\jdk1.3\jre\lib;
.;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\tools.jar;
3在命令提示符下输入:
javac -version
如有相应的版本信息出现,则安装成功。
至于调试,就看你的经验和功力了
五 部署运行tomcat时提示:tomcat6.0The Apache Tomcat Nativelibrary which allows optimalperformance in production environments was not found on the java.library.path (...你的系统环境PATH路径...)问题(资源参照:详细技术> tomcat的ARP错误文件夹)
部署运行tomcat时提示:tomcat6.0The Apache Tomcat Native library which allows optimal performance in production environmentswas not found on the java.library.path (...你的系统环境PATH路径...)问题
原因:上网查了半天有关ARP的文章,知道tomcat推荐使用apache的arp(Apache portable Run-time libraries,Apache可移植运行库)
解决:下载http://tomcat.heanet.ie/native/1.1.10/binaries/win32/tcnative-1.dll(迅雷下载)文件,放到C:\WINDOWS\system32下面和\TOMCAT\bin\下,OK了
六 关于spring 2的p标签
1、spring p标签是spring内置的,只要在xml头部申明下就可以调用,用法相当于<property>
比如
Code
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="loginAction" class="com.ambow.exam.action.LoginAction" p:nam="sasa"></bean>
</beans>
这里是给LoginAction里给nam注入值sasa
这里相当于
Code
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="loginAction" class="com.ambow.exam.action.LoginAction">
<property name="nam">
<value>sasa</value>
</property>
</bean>
</beans>
2、Spring2.0中还有一个非常实用的解析器,SimplePropertyNamespaceHandle,若配置文件中引用http://www.springframework.org/schema/p命令空间,则将会使用SimplePropertyNamespaceHandle来处理这个Bean的定义,可以在Spring2.0中的Bean中以更简单的方式配置设值方法注入,如下所示:
< ?xml version="1.0" encoding="UTF-8"?>
< beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
< bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"
p:driverClassName="org.gjt.mm.mysql.Driver"
p:url="jdbc:mysql://127.0.0.1:3306/easyjf-bbs" p:username="root"p:password="mysql" />
< /beans>
在上面的配置中,使用p:url则可以直接注入BasicDataSource的url属性值,可以使用p:url-ref属性来引用另外一个Bean。
如,Spring2.0以前的一个DAO配置:
< bean id="userDao"class="com.easyjf.bbs.dbo.springjdbc.UserDaoSpringJdbc">
< property name="dataSource"><ref bean="dataSource"/>< /property>
< /bean>
使用简短属性方式,则改成如下:
< bean id="userDao"class="com.easyjf.bbs.dbo.springjdbc.UserDaoSpringJdbc"p:dataSource-ref="dataSource" />
七 版本问题:java.lang.UnsupportedClassVersionError:Bad version number in .class file
解决:在myEclipse中改变编译器的方法:Project->Properties->JavaCompiler->Configure Workspace Setting,在弹出的页面中可以进行设置。
八 获取MyEclipse6的注册码 Myeclipse7.0注册机的源代码(资源参照:详细技术>MyEclipseGen.java)
编译运行后输入想要注册的用户名,然后再控制台下就会生成相应的注册码!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class MyEclipseGen {
private static final String LL = "Decompilingthis copyrighted software is a violation of both your license agreement and theDigital Millenium Copyright Act of 1998(http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of theDMCA, penalties range up to a $500,000 fine or up to five years imprisonmentfor a first offense. Think about it; pay for a license, avoid prosecution, andfeel better about yourself.";
public String getSerial(String userId, StringlicenseNum) {
java.util.Calendar cal = java.util.Calendar.getInstance();
cal.add(1, 3);
cal.add(6, -1);
java.text.NumberFormat nf = newjava.text.DecimalFormat("000");
licenseNum = nf.format(Integer.valueOf(licenseNum));
String verTime = new StringBuilder("-").append(
new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime()))
.append("0").toString();
String type = "YE3MP-";
String need = new StringBuilder(userId.substring(0,1)).append(type)
.append("300").append(licenseNum).append(verTime).toString();
String dx = new StringBuilder(need).append(LL).append(userId)
.toString();
int suf = this.decode(dx);
String code = new StringBuilder(need).append(String.valueOf(suf))
.toString();
return this.change(code);
}
private int decode(String s) {
int i;
char[] ac;
int j;
int k;
i = 0;
ac = s.toCharArray();
j = 0;
k = ac.length;
while (j < k) {
i = (31 * i) + ac[j];
j++;
}
return Math.abs(i);
}
private String change(String s) {
byte[] abyte0;
char[] ac;
int i;
int k;
int j;
abyte0 = s.getBytes();
ac = new char[s.length()];
i = 0;
k = abyte0.length;
while (i < k) {
j = abyte0[i];
if ((j >= 48) && (j <= 57)) {
j = (((j - 48) + 5) % 10) + 48;
} else if ((j >= 65) && (j <= 90)) {
j = (((j - 65) + 13) % 26) + 65;
} else if ((j >= 97) && (j <= 122)) {
j = (((j - 97) + 13) % 26) + 97;
}
ac[i] = (char) j;
i++;
}
return String.valueOf(ac);
}
public MyEclipseGen() {
super();
}
public static void main(String[] args) {
try {
System.out.println("pleaseinput register name:");
BufferedReader reader = newBufferedReader(new InputStreamReader(
System.in));
String userId = null;
userId = reader.readLine();
MyEclipseGen myeclipsegen = new MyEclipseGen();
String res = myeclipsegen.getSerial(userId,"5");
System.out.println("Serial:" + res);
reader.readLine();
} catch (IOException ex) {
}
}
}
注意:注册Myeclipse的时候要先断开网络,否则可能注册不成功!
注册方法:
window -> preferences -> myeclipse -> subscription
1.javaeye wLR8ZO-655444-6867505309604395
2.csdn pLR8ZO-655444-68675056726576869
3.myeclipse zLR8ZO-655444-6867505361918604
4.hpjianhua uLR8ZO-655444-68675056522179002
5.baidu oLR8ZO-655444-6867505787393759
使用方法:点击MyEclipse菜单->Subscription Information
九spring2+struts2实现action间的跳转并给予成功提示
以添加功能为例:
YP_ckAction:struts2的action类,继承ActionSupport
centerFrameCK.jsp:中间页面,实现提示操作是否成功,并将请求转到另外一个action中
ckView.jsp:数据展示页面,添加成功后跳转到此页面显示新增数据 对应的action路径为:ck/cks
ckAdd.jsp:添加页面,点击添加按钮跳转到action的添加方法中处理数据 对应的action路径为:ck/addCk
注:因为考虑到安全的问题,此上页面都在WEB-INF下面
程序从点击添加按钮后,调用action中的添加方法开始:
YP_ckAction代码:
@Namespace("/ck")//命名action 的空间名
@Results({
@Result(name="addCk",location="/WEB-INF/content/zdb/ck/centerFrameCK.jsp"),
@Result(name="cks",location="/WEB-INF/content/zdb/ck/ckView.jsp")})
//spring2的@Result注解使用 name为下面用@Action注解的value值,location为执行过这个方法后,请求将要跳转的页面路径
@Component("ckAction")
public class YP_ckAction extends ActionSupport {
private IYP_ckService ckService; //仓库业务接口
private CK ck; //仓库实体
private boolean isOK; //操作结果
@Action(value="addCk")
public String addCk(){
System.out.println("PPPPPP");
try{
ckService.addCk(ck);
}catch(Exceptione){
isOK=false;
e.getStackTrace();
}
isOK=true;
return "addCk";
}
public IYP_ckService getCkService() {
return ckService;
}
@Resource
//spring2的@Resource注解使用,实现将IYP_ckService类的 ckService对象传给此Action中的ckService属性
public void setCkService(IYP_ckService ckService) {
this.ckService =ckService;
}
public CK getCk() {
return ck;
}
public void setCk(CK ck) {
this.ck = ck;
}
public boolean getIsOK() {
return isOK;
}
public void setIsOK(boolean isOK) {
this.isOK = isOK;
}
}
中间页面centerFrameCK.jsp:
<%@page pageEncoding="utf-8"%>
<%@taglib uri="/struts-tags"prefix="s"%>
<script>
<s:if test="isOK">
alert("操作成功!");
</s:if>
<s:else>
alert("操作失败!");
</s:else>
window.parent.window.document.location.href="cks";//次处cks为请求ckView.jsp的action路径
</script>
添加页面ckAdd.jsp:
<s:form action="/ck/addCk">
<table class="easyui-datagrid"width="100%" border="0">
<tbody>
<tr>
<td colspan="2">仓库名称:<s:textfieldname="ck.ckmc" id="ckmc"></s:textfield></td>
</tr>
<tr>
<td colspan="2" align="center">
<div >
<input type="submit" name="Submit"value=" 添加 "/>
<input type="reset" name="Submit2"value=" 取消 " />
</div>
</td>
</tr>
</tbody>
</table>
</s:form>
十 多种页面跳转的方法(效果参照:详细技术>页面跳转几种方法)
1,<title>点击按钮跳转的JS代码</title>
<INPUTTYPE="submit" value="转向主页" οnclick="location.href='' ">
2,﹤jsp:forward page="/utils/errorReporter.jsp"/﹥
﹤jsp:forwardpage="﹤%= someJavaExpression %﹥"/﹥
3,<input type="button" name="Submit3"value="删除" >
οnclick="javascript:document.form1.action='/ck/delCk';document.form1.submit();"/>
4,<input type="button" name="Submit2"value="增加"οnclick="javascript:window.location.href='页面路径或action路径'"/>
十一js 除去空格(效果参照:详细技术>js取出空格)
取出左右空格:ckmc=ckmc.replace(/(^\s*)|(\s*$)/g, "");
去除左空格:ckmc.replace(/(^s*)/g, "");
去除右空格:ckmc.replace(/(s*$)/g, "");
ckmc为要验证的字符串;
十二 Attribute value invalidfor tag property according to TLD错误(效果参照:详细技术>Attribute value invalid for tagproperty according to TLD)
<s:property/>中根本就没有name这个属性存在,所以我们根据它的tld文件会给我们提供一个错误的提示。
在<s:property default="" escape=""id="" value=""/>中只有如此的四个属性,它们分别所代表的意思是:
根据struts-2.1.6-all/struts-2.1.6/docs/docs/property.html 他们各自所代表的含义,以及所描述的内容。
名称 Required Default Evaluated Type Description
1:default false false StringThe default value to be used if value attribute is null
2:escape false true false Boolean Whether to escape HTML
3:value false <top of stack> false Object Value to be displayed
十三(多种方法)J2EE应用开发中与Oracle数据库的连接(效果参照:详细技术> J2EE应用开发中与Oracle数据库的连接)
import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;
/**
* 通过JdbcOdbc桥方式获得Oracle数据库连接
*/
public class DbConnection
{
public DbConnection()
{
}
/**
* 获得Oracle数据库连接
*/
public java.sql.Connection
connectDbByJdbcOdbcBridge()
{
java.sql.Connection conn=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection
("jdbc:odbc:ora199","sr","sr");
}
catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}
}
十四JDBC连接各种数据库方法(效果参照:详细技术> JDBC连接各种数据库方法)
1、Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为数据库的SID
Stringuser="test";
Stringpassword="test";
Connectionconn= DriverManager.getConnection(url,user,password);
2、DB2数据库
Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
Stringurl="jdbc:db2://localhost:5000/sample";
//sample为你的数据库名
Stringuser="admin";
Stringpassword="";
Connectionconn= DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
Stringuser="sa";
Stringpassword="";
Connectionconn= DriverManager.getConnection(url,user,password);
4、Sybase数据库
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
Stringurl =" jdbc:sybase:Tds:localhost:5007/myDB";
//myDB为你的数据库名
PropertiessysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connectionconn= DriverManager.getConnection(url, SysProps);
5、Informix数据库
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
Stringurl =
"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//myDB为数据库名
Connectionconn= DriverManager.getConnection(url);
6、MySQL数据库
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Stringurl ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicod
e=true&characterEncoding=8859_1"
//myDB为数据库名
Connectionconn= DriverManager.getConnection(url);
7、PostgreSQL数据库
Class.forName("org.postgresql.Driver").newInstance();
Stringurl ="jdbc:postgresql://localhost/myDB"
//myDB为数据库名
Stringuser="myuser";
Stringpassword="mypassword";
Connectionconn= DriverManager.getConnection(url,user,password);
十五 安装SYBASE遇到JVM问题
在安装SYBASE数据库时,遇到关于JVM问题,出错提示如下:
找不到合适的JVM,请使用选项-is:javahome<JAVAHOME DIR>再次。。。
操作系统为Win XP,JVM为1。5版本,我查了好几遍都没有问题的,这是为什么?
原因:安装路径上必须没有中文,否则无法识别JVM路径,原来我是放在桌面上安装的,后来剪切到f盘双击就行了
十六 在MyEclipse中修改项目访问地址
点中项目——》右击properties——》在左上方的文本框中输入【web】字样——》Context Root——》修改Web Context-root
十七myeclipse svn 修改用户名和密码(效果参照:详细技术> myeclipse svn 修改用户名和密码 - - JavaEye技术网站.htm)
由于在svn的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法。
解决方案:
在Eclipse使用SVN的过程中大多数人往往习惯把访问SVN的用户名密码自动保存起来
以便下次自动使用,不要再次手工输入,但是有些时候需要变更密码或者用户名,
这时候怎么办?在网上查找后发现如下方法:
1. 查看你的Eclipse中使用的是什么SVNInterface
windows > preference > Team > SVN #SVN Interface
2. 如果是用的JavaHL, 找到以下目录并删除auth目录下的文件.
C:"Documents and Settings"[YourUserName]"ApplicationData"Subversion"
3. 如果你用的SVNKit, 找到以下目录并删除.keyring文件.
[eclipse]"configuration"org.eclipse.core.runtime
主要有两种方法,一种是删除SVN客户端的账号配置文件;另外一种就是去SVN服务端将账号设置成不可用。
具体步骤:
1、通过删除SVN客户端的账号配置文件
(1)找到我们使用的客户端配置文件,在window xp下面他们的位置在系统盘的 Documents andSettings\alex\Application Data\Subversion\auth\文件夹中,把里面的所有文件删除。
(2)使用SVN更新或提交,使得客户端与服务端进行通讯,这样就会SVN客户端就要求我们输入新的用户名密码,输入我们的用户名密码就可以替换掉旧的用户名密码。
2、通过修改SVN服务端账号配置文件,这部分需要SVN的管理员配合
(1)找到服务端账号配置文件,这个文件位于SVN服务器的安装路径 config文件夹,打开并编辑passwd文件,删除或注释需要被替换的账号
(2)在客户端使用SVN更新或提交,使得客户端与服务端进行通讯,这样就会SVN客户端就要求我们输入新的用户名密码,输入我们的用户名密码就可以替换掉旧的用户名密码。
十八用Apache htpasswd管理SVN帐户(效果参照:详细技术> 用Apache htpasswd管理SVN帐户 - 三味书屋 - JavaEye技术网站.htm)
在apache安装目录下找到bin目录,该目录下有htpasswd执行文件
htpasswd -cmb userfile abc 123456
c :create
m:md5
b :在命令行上输入密码
解释:创建userfile文件,增加用户名为abc的用户,密码为md5加密的123456
更新密码
htpasswd userfile abc
添加新用户
htpasswd userfile xyz
删除用户
htpasswd -D userfile xyz
生成.htaccess
htpasswd -c .htaccess user
十九 Java代码中的事务处理
Con为Connection类型的对象
con.setAutoCommit(false);//false是什么意思
false是con对象不自动连接
....
pStatement.executeUpdate();
con.commit();//commit是什么意思
提交
con.setAutoCommit(true);//这里又来个true又是什么意思,自动提交
try {
sqlE.printStackTrace();
}catch (SQLException sqlE) {
con.rollback();//当操作失败的时就回滚
}
开启或关闭自动提交模式:
con.setAutoCommit(false) ;
con.setAutoCommit(true);
一旦关闭了自动提交,除非通过调用 commit() 显式地告诉它提交语句,否则无法提交 SQL 语句(即,数据库将不会被持久地更新)。在提交之前的任何时间,我们都可以调用 rollback() 回滚事务,并恢复最近的提交值(在尝试更新之前)。
二十MyEclipse去除所有调试断点
方法一:
在工作界面,点window菜单栏,选中Preperences,在General选项卡中的key节点下,
找到快捷键输入栏,在type filter text中输入remove,下面自能提示中就会出现Remove all breakpoints,我们要找的撤销功能键就是它了。
然后根据自己的需求改成自己想要的热键吧。
方法二:
在debug模式窗口中,点run菜单栏,在下拉的选项卡中,在底部我们可以看见Remove all breakpoints的选项,
只要我点击它,就会把我们当前调试的项目中的所有断点撤销。
二十一MyEclipse即时提示配置(配置文件位置:详细技术\MyEclipse快捷提示文件(压缩包))
打开Window ->Perferences,并依次展开 Java -> Editor-> ContentAssist,
最下面Auto-Activation
选项:auto activation triggers for java
按楼主说的,填入:几个随便的字符,例如“asdf”,点最下面的“OK”来保存设置。
然后打开 Eclipse的 File -> Export,在窗口中展开 General ->Perferences-->Export all然后点击NEXT。然后点击“Browse”选择任意的一个路径,保存配置文件,然后点击“Finish”。
用记事本打开刚才保存的那个配置文件(扩展文件名:*.epf),按“ctrl + F”,输入刚才设置的“asdf”,找到刚才字符串。把“asdf”修改为“abcdefghijklmnopqrstuvwxyz.”,然后保存,退出记事本。
打开Eclipse的 File -> Import 然后在打开的窗口里展开 General ->Perferences,点击NEXT,选中刚才修改过的配置文件,Finish。现在,再打开Window ->Perferences,并依次展开 Java -> Editor -> ContentAssist,会发现已经超过了4个字符,也就是说我们输入任何字母和“.”都会有代码提示了。
修改之后,默认是你输入某个字符200毫秒之后出现代码提示,如果出现输入很卡的情况,需要把提示延迟调高一些;如果你嫌它太慢,可以修改成更小的数字,不过数字改的越小,对系统性能的要求就越高,我设置的是50毫秒
二十二sybase初始安装形式为全部(fall)形式安装,但是断网之后,不能访问sybase数据库连接:java.net.NoRouteToHostException:No route to host
原因:Sybase数据库可以建多个服务,包括(本地服务和网络服务)
因为之前安装默认在本机建的服务是用网络IP建的,所以当断网之后就不能用数据库服务了,
解决:(联网)更改sybase服务端口,再重新启动sybase服务
二十三手动删除服务
手动删除
开始-运行regedit
1). 注册表中在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下查找,找到后删除该键值
二十四Sybase数据库优化、备份、恢复等命令
数据库优化:配置文件位置:详细技术\优化数据库语句.txt(视情况具体使用)
备份命令:dumpdatabase performance to 'd:\20101128_aj.dat'
恢复命令:
user master
go
load database performancefrom "d:\20101130a.dat"
go
online database performancego
go
二十五将tomcat做成\系统服务或删除
创建服务:
C:\Documents andSettings\Administrator>e:-————E,跳转到tomcat所在的盘符
E:\>cd tomcat3\bin————,转到指定tomacat的bin目录下
E:\tomcat3\bin>service.batinstall tomact:
————service.bat,bin目录下的一个文件,inistall 关键字,tomcat3:服务名称,自定义
出现下面的信息,说明创建成功了,
Installing the service'tomact3' ...
Using CATALINA_HOME: E:\tomcat3
Using CATALINA_BASE: E:\tomcat3
Using JAVA_HOME: D:\Program Files\Java\jdk1.6.0_17
Using JVM: D:\ProgramFiles\Java\jdk1.6.0_17\jre\bin\server\jvm.dll
删除服务:
同样转到tomcat的bin目录先,在doc窗口中执行service.batremove tomcat3,tomcat3为
要删除的服务名称,
二十六chm文件(帮助文档据多)打不开
1.看看你的OS的语言设置 和chm文档的语言是不是一致的 ?如果不一致就会打不开得到上面这样的错误。比如如果下载的chm文档是中文的,那么到[控制面板]中看看那个"语言和区域"的【自定义】,打开看看【区域选项】 是不是中国,这个选项对一些软件还是有一些影响的。
2。运行里面输入 regsvr32 itss.dll
3.在命令行运行regsvr32 hhctrl.ocx
之后,点中文件右击选择打开方式。
或者
首先,在微软网站上下载hhupd.exe , 安装 hh.exe 后并运行。
然后运行“regsvr32 C:\windows\system\hhopen.ocx”等CHM相关文件。
如果还是不能正常打开CHM文档,就看看你的注册表中的“HKEY_CLASSES_ROOT\chm.file\shell\open\command”分支,如果分支下面除了默认项外,还多了一个“command”字符串,就把它删除,这样CHM文件就能正常打开了。
(hhupd.exe已经下载好了,放在详细技术文件里面了)
二十七json数据与JAVA数据的转换(效果参照:详细技术>json数据与JAVA数据的转换)
/**
*从一个JSON 对象字符格式中得到一个java对象,形如:
* 从一个JSON 对象字符格式中得到一个java对象,其中beansList是一类的集合,形如
* 从一个JSON数组得到一个java对象数组,形如[{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...]
* 从一个JSON数组得到一个java对象数组,形如: [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...]
* 从一个JSON数组得到一个java对象集合
* 从一个JSON数组得到一个java对象集合,其中对象中包含有集合属性
* 从json HASH表达式中获取一个map,该map支持嵌套功能 形如:{"id" : "johncon", "name" : "小强"}
* 从json数组中得到相应java数组
* 把数据对象转换成json字符串
* DTO对象形如:{"id" : idValue, "name" : nameValue, ...}
* 数组对象形如:[{}, {}, {}, ...]
* map对象形如:{key1 : {"id" : idValue, "name" : nameValue, ...}, key2 : {}, ...}
*设定日期转换格式
*/
二十八 sybase 查询前几名
SELECT* FROM dbo.ao_ZX set rowcount 5
用set rowcount 5 关键字
二十九java中获取当前系统时间,日期并格式化输出
一. 获取当前系统时间和日期并格式化输出:
import java.util.Date;
import java.text.SimpleDateFormat;
public class NowString {
public static void main(String[] args){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");//设置日期格式
System.out.println(df.format(new Date()));// newDate()为获取当前系统时间
}
}
二. 在数据库里的日期只以年-月-日的方式输出,可以用下面两种方法:
1、用convert()转化函数:
String sqlst = "selectconvert(varchar(10),bookDate,126) as convertBookDate from roomBook wherebookDate between '2007-4-10' and '2007-4-25'";
System.out.println(rs.getString("convertBookDate"));
2、利用SimpleDateFormat类:
先要输入两个java包:
import java.util.Date;
import java.text.SimpleDateFormat;
然后:
定义日期格式:SimpleDateFormat sdf = newSimpleDateFormat(yy-MM-dd);
sql语句为:String sqlStr ="select bookDate from roomBook where bookDate between '2007-4-10' and'2007-4-25'";
输出:
System.out.println(df.format(rs.getDate("bookDate")));
三十 java程序判断指定文件是否存在,存在删除,不存在新建
import="java.io.*"
String rootPath =realPath + "/kjda/people/img/";//项目相对路径
StringfileName = rootPath + saveFile;//saveFile 文件名
FilecheckFile = newFile(fileName);
if(checkFile.exists()){//文件存在删除
checkFile.delete();
//return;
}
FilefileDir = newFile(rootPath);
if(!fileDir.exists()){ //文件不存在新建
fileDir.mkdirs();
}
if(file.isDirectory()){//判断文件夹是否存在,存在
System.out.println("the dir is exits");
}else{ //不存在删除
file.mkdir();
System.out.println("have made a dir !" );
}
三十一java文件输出流,写到.txt文件,如何实现换行
// 关键字: java txt文件 换行
// java中写.txt文件,实现换行的几种方法:
// 1.使用java中的转义符"\r\n":
// Java代码
String str="aaa";
str+="\r\n";
// 这样在str后面就有换行了.
// 注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果.
//
//
// BufferedWriter的newline()方法:
// Java代码
FileOutputStream fos=new FileOutputStream("c;\\11.txt");
BufferedWriter bw=newBufferedWriter(fos);
bw.write("你好");
bw.newLine();
bw.write("java");
bw.newLine();
// 使用System.getProperty()方法:
// Java代码
String str2 = "aaa"+System.getProperty("line.separator");
三十二String.getBytes()和new String() 区别和关系
在Java中,String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如
byte[]b_gbk = "中".getBytes("GBK");
byte[]b_utf8 = "中".getBytes("UTF-8");
byte[]b_iso88591 = "中".getBytes("ISO8859-1");
将分别返回“中”这个汉字在GBK、UTF-8和ISO8859-1编码下的byte数组表示,此时b_gbk的长度为2,b_utf8的长度为3,b_iso88591的长度为1。
而与getBytes相对的,可以通过new String(byte[], decode)的方式来还原这个“中”字时,这个new String(byte[], decode)实际是使用decode指定的编码来将byte[]解析成字符串。
Strings_gbk = new String(b_gbk,"GBK");
Strings_utf8 = new String(b_utf8,"UTF-8");
Strings_iso88591 = new String(b_iso88591,"ISO8859-1");
通过打印s_gbk、s_utf8和s_iso88591,会发现,s_gbk和s_utf8都是“中”,而只有s_iso88591是一个不认识的字符,为什么使用ISO8859-1编码再组合之后,无法还原“中”字呢,其实原因很简单,因为ISO8859-1编码的编码表中,根本就没有包含汉字字符,当然也就无法通过"中".getBytes("ISO8859-1");来得到正确的“中”字在ISO8859-1中的编码值了,所以再通过new String()来还原就无从谈起了。
因此,通过String.getBytes(String decode)方法来得到byte[]时,一定要确定decode的编码表中确实存在String表示的码值,这样得到的byte[]数组才能正确被还原。有时候,为了让中文字符适应某些特殊要求(如httpheader头要求其内容必须为iso8859-1编码),可能会通过将中文字符按照字节方式来编码的情况,如String s_iso88591 = new String("中".getBytes("UTF-8"),"ISO8859-1"),这样得到的s_iso8859-1字符串实际是三个在ISO8859-1中的字符,在将这些字符传递到目的地后,目的地程序再通过相反的方式
Strings_utf8 = newString(s_iso88591.getBytes("ISO8859-1"),"UTF-8")来得到正确的中文汉字“中”。这样就既保证了遵守协议规定、也支持中文。
三十三,myeclips8.5下安装svn插件。
在官网http://subclipse.tigris.org/下载了最新插件site-1.6.15.zip包,
解压后使用其features和plugins两个文件夹,参考网上做法,去掉其中一些包,myEclipse启动才不报错。
(1)MyEclipse 8.5根目录D:\ProgramFiles\Genuitec\MyEclipse 8.5下新建名为SVN的文件夹,将这两个文件夹放进去。(后边提供的SVN插件包就是我们要用到的SVN文件夹)
(2)在D:\Program Files\Genuitec\MyEclipse8.5\dropins 目录下建立一个SVN.link文件,其中内容为:
path=D:\\ProgramFiles\\Genuitec\\MyEclipse 8.5\\SVN 。也就是这个link指向刚才你建的文件夹。(后边提供的SVN-link.rar是这个link文件)
(3)重新启动MyEclipse。
三十四,教你如何设置电脑保护色来保护眼睛
像我们这样整天对着电脑,也应该注意一下。所以 就来向大家介绍一下怎样将电脑屏幕由刺眼的白色改为淡绿色,让大家在工作的同时,尽可能的将电脑对们眼睛的伤害降到最低!
设置方法:打开控制面板中的"显示"选择外观(appearance)-高级(advanced),然后在项目(items)那栏选窗口(windows),再点颜色(color)-其它颜色(others),然后把Hue(色调)设为85,Sat(饱和度)设为90,Lum(亮度)设为205。然后单击添加到自定义颜色(Addtocustomcolors),按“确定”...一直确定。
把窗口设成绿色之后,再来把IE的网页背景也变成养眼的绿色 :打开IE,点击工具(TOOLS),点INTERNET选项(INTERNETOPTIONS),点右下角的辅助功能(Assessibility),然后勾选不使用网页中指定的颜色。
三十五javascript 打开模态对话框,关闭后刷新父窗口 收藏
将打开的对话框页面放到iframe中
父窗口JS脚本
functionsjcjbbj(pgffdm){
var para="pgsjcjblrAction.do?action=editsjcjb&gzd_bh=<bean:writename='gzd_bh'/>&nsrsbh=<bean:writename='nsrsbh'/>&pgffdm="+pgffdm;
varreturnvalue=showModalDialog("pgsjcjblr_iframe.html",para,"dialogWidth=770px;dialogHeight=470px;center=yes;help=no;scrollbars=no;status:false");
location.reload();
}
打开话框页面JS脚本
function savesjcjb() {
pgsjcjblrForm.strXML.value =Grid1.ExportToXMLString();
window.close();
pgsjcjblrForm.action="pgsjcjblrAction.do?action=savesjcjb&gzd_bh=<bean:writename='gzd_bh'/>&nsrsbh=<bean:write name='nsrsbh'/>
&pgffdm=<bean:writename='pgffdm'/>";
pgsjcjblrForm.method="POST";
pgsjcjblrForm.submit();
opener.location.reload();
}
三十六怎样用JS实现关闭当前窗口
大家都知道window.close()是用来关闭窗口的,而且ie和firefox都是支持的。
为了实现用户对浏览器的绝对控制,ie中用close关闭非open打开的窗口时回弹出一个对话框询问用户,怎么去掉这个框呢,请看下面的代码。
functionwinClose(){ window.top.opener = null; window.close(); }
在window.close之前加上window.top.opener = null就可以了。
firefox支持close,其实这是错误的,之所以window.close在firefox不能使用,是因为firefox默认不能关闭用户打开的网页,可以这样设置firefox。
打开firefox,在地址栏输入about:config
找到dom.allow_scripts_to_close_windows这项并改为true。
需要说的是在firefox中没有弹出对话框的麻烦。
<script>
functiona(){
window.open('','_parent','');
window.opener= window;
window.close();
}
</script>
再运行这个就能在ff下关闭了。
后记:利用打开一个新窗口,然后关闭这个页面就可以实现关闭当前页面。
<ahref="c.html" target="_blank">ddddddddd</a>
c.html
<aref="javascript:window.open('','_parent','');window.close();">
CloseWindow</a>
三十七 JS无需确认直接关闭当前窗口
if("shihuan"== "shihuan"){
alert("一个IP地址只允许打开一个浏览器访问本系统!");
window.opener = null;
window.open('', '_self');
window.close();
}
适用于Chrome,IE6,Safari等几种浏览器的关闭方法:
varopened=window.open('about:blank','_self');
opened.opener=null;
opened.close();
JS关闭窗口或JS关闭页面的几种代码
//JS关闭窗口或JS关闭页面的几种代码
JS定时自动关闭窗口
<scriptlanguage="javascript">
<!--
functionclosewin(){
self.opener=null;
self.close();}
functionclock(){i=i-1
document.title="本窗口将在"+i+"秒后自动关闭!";
if(i>0)setTimeout("clock();",1000);
elseclosewin();}
var i=10
clock();
//-->
</script>
第二种:点击链接没有提示的JS关闭窗口
<ahref="javascript:self.close()" >关闭窗口</a>
第三种:窗口没有提示自动关闭的js代码
<scriptlanguage=javascript>
<!--
this.window.opener= null;
window.close();
//-->
</script>
IE6-7 JS关闭窗口不提示的方法
方法一:
js 代码
functionCloseWin() //这个不会提示是否关闭浏览器
{
window.opener=null;
//window.opener=top;
window.open("","_self");
window.close();
}
方法二:
open.html
js 代码
functionopen_complex_self() {
var obj_window = window.open('close.html','_self');
obj_window.opener = window;
obj_window.focus();
}
close.html
js 代码
window.close();
另附:
//普通带提示关闭
functioncloseie(){
window.close();
}
//关闭IE6不提示
functioncloseie6(){
window.opener=null;
window.close();
}
//关闭IE7不提示
functioncloseie7(){
window.open('','_top');
window.top.close();
}
三十八 window.open 打开窗口的参数详解
<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') //这句要写成一行
-->
</SCRIPT>
参数解释:
<SCRIPT LANGUAGE="javascript"> js脚本开始;
window.open 弹出新窗口的命令;
'page.html' 弹出窗口的文件名;
'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许
fullscreen=yes (no) 是否全屏显示
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许
</SCRIPT> js脚本结束
如果加上fullscreen=yes 的话,弹出的浏览器是全屏状态,相当于按下快捷键F12,不是我想要的情况,下面的代码可以完成弹出窗口的最大化:
<script type="text/javascript">
var fulls = "left=0,screenX=0,top=0,screenY=0,scrollbars=1"; //定义弹出窗口的参数
if (window.screen) {
var ah = screen.availHeight - 30;
var aw = screen.availWidth - 10;
fulls += ",height=" + ah;
fulls += ",innerHeight=" + ah;
fulls += ",width=" + aw;
fulls += ",innerWidth=" + aw;
fulls += ",resizable"
} else {
fulls += ",resizable"; // 对于不支持screen属性的浏览器,可以手工进行最大化。 manually
}
function openNewWindow(url,name){
window.open(url,name,fulls);
}
</script>
然后在JSP页面中就可以直接调用openNewWindow()来打开页面了。
三十九 idstinct的用法——sql消除重复值
SQL SELECT DISTINCT 语句 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。语法: SELECT DISTINCT 列名称 FROM 表名称使用 DISTINCT 关键
Eg:distinct tableName.rowName,
四十,MyEclipse/eclipse不能自动编译成.class文件的解决方案
1,配置文件出错,如web.xml文件中配置的属性没有加载完全。操作:像这种配置错误,控制台会给予提示,只需根据提示内容,锁定错误节点进行修改就行。如控制台提示listener文件加载异常,我上次遇到的就是这个错误,我重新在web.xml的design中配置一下listener就好了。
2,自动编译功能没有打开。操作:选上project->build automatically 即表示自动编译功能被打开了。
3,工程下.classpath文件配置错误。
操作:确保<classpathentry kind="output" path="web/WEB-INF/classes"/>指向的路径是否正确
4,项目中涉及到的jar包加载错误。操作:再打开自动编译的情况下,重新在java Buile pathx里导入一遍jar包。
5,java运行环境出错。操作:检查一下项目涉及到的tomcat、jdk是否正常,最好将tomcat、jdk都重新部署配置一下。
四十一eclipse 中UTF-8设置
1.windows->Preferences 打开"首选项"对话框;
2.然后,general->Workspace,右 侧Text file encoding,选择Other,改变为UTF-8。
3.Web->打开,把CSS、HTML、JSP、JavaScript、XML等设置为UTF-8。
或在这里更改:
general->ContentTypes, 右侧Context Types树,点开Text,选择Java Source File,在下面的Default
encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他如果需要更改,方法一样。
四十二删除鼠标右击菜单
1. 单击Windows的“开始”菜单,单击“运行”,在“打开”框中键入“regedit”,
单击“确定”按钮,打开“注册表编辑器”窗口。
2. 2. 展开“HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers”分支,在其下找到要删除的
无用项,然后右键单击该项,再单击“删除”将其删除即可清除右键菜单中的对应选项。
3. 对于仅在文件夹右键菜单中才有的选项,可到
HKEY_CLASSES_ROOT\Directory\shellHKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers分支下查找。
有时HKEY_CLASSES_ROOT\Folder\shell和
HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers
分支下也有右键菜单中的选项
四十三更改eclipse工作空间的路径?
有2中方法可以改变工作空间的路径设置:
1. 启动Eclipse/MyEclipse后, 打开"Window -> Preferences -> General -> Workspace", 点Workspace页上的"Startup andShutdown", 然后勾选"Startup and Shutdown"页中的"Prompt for workspace on startup";
2. 用记事本打开"/eclipse/configuration/.settings/org.eclipse.ui.ide.prefs",将"SHOW_WORKSPACE_SELECTION_DIALOG"的值改为"true";
P.S.: "RECENT_WORKSPACES"的值表示设置过的workspace绝对路径. 第一个路径是当前设定的路径, 向后依次之前曾设置过的. 各路径之间用"/n"分隔.
SHOW_WORKSPACE_SELECTION_DIALOG=false
eclipse.preferences.version=1
RECENT_WORKSPACES=D\:\\Myproject
将其中的SHOW_WORKSPACE_SELECTION_DIALOG=由false改成true。其他项都不要改,保存。
重新启动Eclipse,哈哈,系统启动后提示你选择工作目录,这个时候就可以选择新的工作目录了。真是会者不难啊。
运行后的配置文件发生了变化:
#Mon Nov 10 13:40:40 CST 2008
RECENT_WORKSPACES_PROTOCOL=3
MAX_RECENT_WORKSPACES=5
SHOW_WORKSPACE_SELECTION_DIALOG=true
eclipse.preferences.version=1
RECENT_WORKSPACES=F\:\\AndroidBooks\nF:\\AndroidBooks\sample
四十四 iframe页面里的js调用父级页面js函数的解决方法
iframe页面里的js调用父级页面js函数的解决方法
1、假设当前页面为a.html, iframe的src页面为b.html,其代码如下:
viewsourceprint?
<html>
<head>
<title>iframe页面里的js调用父级页面js函数的demo</title>
</head>
<body>
<p>iframe页面里的js调用父级页面js函数的demo</p>
<iframeframeborder="0" width="0" height="0"name="test" src="b.html"></iframe>
</body>
<scripttype="text/javascript">
exec_success_callback(){}
</script>
</html>
2、b.html里的页面元素为:
viewsourceprint?
<scripttype='text/javascript'>
window.parent.document.getElementById('父级页面ID').innerHTML = '内容';
window.parent.exec_success_callback();
</script>
说明:
1、通过 window.parent.document.getElementById(‘父级页面ID’).innerHTML = ‘内容’ 基本可以达到控制父级页面的元素
2、window.parent.login_success_callback() 可以调用父级页面的Js函数来处理一些事情
3、关键是用到了 window.parent
四十五 div实现模态窗体(效果参照:详细技术>div实现模态窗体.html)
<html>
<head>
<title>两个层的特效</title>
<style type="text/css">
*{
margin:0;padding:0;
}
</style>
</head>
<body>
<divclass="cecmbody" id="cecmpolicy">
<div class="leftClass">
<p>测试</p>
<input type="button"value="点击这里"οnclick="sAlert('测试效果');" />
</div>
<divclass="rightClass">
</div>
</div>
<script type="text/javascript"language="javascript">
function sAlert(str){
var msgw,msgh,bordercolor;
msgw=400;//提示窗口的宽度
msgh=100;//提示窗口的高度
titleheight=25 //提示窗口标题高度
bordercolor="#336699";//提示窗口的边框颜色
titlecolor="#99CCFF";//提示窗口的标题颜色
var sWidth,sHeight;
sWidth=document.body.offsetWidth;
sHeight=screen.height;
varbgObj=document.createElement("div");
bgObj.setAttribute('id','bgDiv');
bgObj.style.position="absolute";
bgObj.style.top="0";
bgObj.style.background="#777";
bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha
(style=3,opacity=25,finishOpacity=75";
bgObj.style.opacity="0.6";
bgObj.style.left="0";
bgObj.style.width=sWidth +"px";
bgObj.style.height=sHeight +"px";
bgObj.style.zIndex ="10000";
document.body.appendChild(bgObj);
varmsgObj=document.createElement("div")
msgObj.setAttribute("id","msgDiv");
msgObj.setAttribute("align","center");
msgObj.style.background="white";
msgObj.style.border="1px solid "+ bordercolor;
msgObj.style.position ="absolute";
msgObj.style.left = "50%";
msgObj.style.top = "50%";
msgObj.style.font="12px/1.6em Verdana,Geneva, Arial, Helvetica, sans-serif";
msgObj.style.marginLeft ="-225px" ;
msgObj.style.marginTop =-75+document.documentElement.scrollTop+"px";
msgObj.style.width = msgw +"px";
msgObj.style.height =msgh +"px";
msgObj.style.textAlign ="center";
msgObj.style.lineHeight="25px";
msgObj.style.zIndex ="10001";
vartitle=document.createElement("h4");
title.setAttribute("id","msgTitle");
title.setAttribute("align","right");
title.style.margin="0";
title.style.padding="3px";
title.style.background=bordercolor;
title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20,startY=20,finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
title.style.opacity="0.75";
title.style.border="1px solid "+ bordercolor;
title.style.height="18px";
title.style.font="12px Verdana,Geneva, Arial, Helvetica, sans-serif";
title.style.color="white";
title.style.cursor="pointer";
title.innerHTML="关闭";
title.οnclick=function(){
document.body.removeChild(bgObj);
document.getElementById("msgDiv").removeChild(title);
document.body.removeChild(msgObj);
}
document.body.appendChild(msgObj);
document.getElementById("msgDiv").appendChild(title);
vartxt=document.createElement("p");
txt.style.margin="1em 0"
txt.setAttribute("id","msgTxt");
txt.innerHTML=str;
document.getElementById("msgDiv").appendChild(txt);
}
</script>
</body>
</html>
四十六 使flash至于其它div的最底层
我们经常会在网页上面放置一些flash动画,有很多朋友会遇到这样的问题,那就是如果网页是多层的,那flash总是显示在顶层,如何解决这个问题,其实很简单 今天碰到个问题,页面实施拖拽效果,但是要双击按钮才能执行JS,原因是flash层展示权限高,可以添加this.addParam('wmode', 'Opaque');使flash处于底层 |