学会看错误日志,在那里面录找错误的原因(不要害怕它,看到它应该感到高兴)
注意是否缺少jar包,jar包版本是否正确,jar包是否冲突
>>1.页面的高度设置死了,页面要添加的信息太多,有两种方法解决:
方法一:设置悬浮页面,点击某个按钮,会弹出一个页面,信息完成后点保存即可
方法二:在同一个页面,每一小块设置一个按钮用来展开和收缩此模块
>>2.页面的宽度设置死了,如果信息太长的话,可以用一个js方法把信息截取掉,只让它显示一部分
>>3.html不能直接获取Session和url参数,一般都是用js来获取..js可以用location.href得到地址栏,然后split("?")得到参数字符串,再以&分割和=分隔得到键值集合,这是获取url参数,.获取session只有ajax去服务器调用了,因为你不可能把session的值通过url传过来的
>>4.在js中通过id获得对应页面上的对象值,并可以操作它
var app = $("#appName").val();
appId = "1::" + app;
var rootAppGrpId = getRootGroup(appId);
var root = rootAppGrpId.split("::");
document.getElementById("rootAppGrpName").value = root[1];
在页面上传递一个hidden参数:
<input type="hidden" name="rootAppGrpName" id="rootAppGrpName" value=""/>
用jquery在前台改变值:
$("#des_id_${status.count}").text('${business.des}');
>>5.
<input type="hidden" name="serviceName" id="serviceName" value="<%=service.name %>"/>
<%=service.name %>
这样前台显示的是一个只读的名字,但在后台要获取此值(serviceName),所以要利用一个hidden把serviceName隐式传递运去。
>>6.
在html代码中:
<div id="chance_search_div"></div>
在js函数里控制此div的显示与隐藏:
$("#chance_search_div").hide();
$("#chance_search_div").show();
>>7.js中获取外部参数有两种方式:
第一种:通过函数传参(以前认为只有这一种)
第二种:利用jquery方法,通过id获得值
例如:var app = $("#appName").val();
直接获得对应JSP文件中id为appName的值
>>8.SVN解决冲突:先把本地文件备份,然后从服务器更新到本地,在更新后的文件上做修改(利用前面的备份),最后再把修改后的提交到服务器。
注意这个问题:现在从服务器上检出到本地,而服务器上的代码又更改后并不会报本地与服务器不同步错误,因为本地的代码跟服务器上相同版本号的代码是一致的,所以注意,相互比较必须在同一版本号下。
>>9.如何刷新当前页面?如何在当前页面中读取iframe里的body代码?
window.location.reload()
var oIframeBody = document.frames( "sYourFrameId ").document.body;
>>10.!("".equals(appGrpName)) if(null == obj)
>>11.web编程中每个表单都有相应的提交按钮,swing编程中类似,每个提交数据的panel也必须有一个提交按钮
>>12.String和byte[] 之间的转换?
String转换成byte[]:
byte[] bytearray = str.getBytes();
byte[]转换成String:
String str = new String(bytearray);
在这里要注意new String()和String.valueOf()的区别。
>>13.数据库中不要用具有实际意义的字段作主键!
>>14.本地的MySql客户端Navigat导出的脚本没有数据库名,从别处导入相同数据库名的脚本时,要先把本地同名数据库删掉后,重新打开Navigat,再重新建一个同名的数据库,在新建的数据库中执行脚本就可以了。注意:一定要重启Navigat
>>15.MyEclipse里面的项目突然变的响应很慢很慢,原来是因为MyEclipse里面打开的项目太多的缘故,只要把不相干的项目都close project就OK了。
>>16.验证两次输入密码是否一致:
function chekPasswd(){
if($("#password").val()!=$("#password1").val()){
alert("两次输入的密码不一样。");
$("#password1").val("");
$("#password1").focus();
return false;
}
}
>>17.当鼠标指向目标的时候变成手的形状:
style="cursor:pointer;"
加上上面这一行样式代码即可。
设计css样式要注意浏览器兼容问题,下面这段句代码只能在IE浏览器上才能实现,在FireFox不行,上面是通用的
style="cursor:hand;"
关于兼容问是,参照另外一篇文章:
firefox与IE对javascript和CSS的区别(浏览器兼容)
http://blog.csdn.net/shanliangliuxing/article/details/7339648
居中对齐:
style="text-align: left;"
显示到顶端:
style="vertical-align: top;"
>>18.有时候 $("userId").val()会得不到值,找到N久才发现是id的问题,把id由userId改成userId_s即可,如下所示:
if($("#userId_s").val().trim()==""){
alert("请输入职工编号。");
$("#userId_s").val("");
$("#userId_s").focus();
return false;
}
>>19.j2se程序中得到当前项目的绝对路径的方法:
String path = System.getProperty("framework.conf", System.getProperty("user.dir") + \\config);
获得值为:
C:\Documents and Settings\dashan.yin\workspace\timerworker\config
C:\Documents and Settings\dashan.yin\workspace\为当前项目存储的目录,timerworker为当前项目名称,config为最后填加的目录
>>20.**** cannot be found. Please check the location and try again 在myeclipse中打开某个文件
修改某个文件时,总是弹出一个窗口提示上述信息,其实也很好解决:
在编辑器界面,右键点击要打开的页面,选择Open with->MyEclipse JSP Editors即可
>>21.项目中图片路径,文件路径,都要使用绝对路径,不然会发生找不到的情况。
>>22.a:link,a:visited,a:hover,a:active 分别是什么意思?
link:连接平常的状态 active:连接被按下的时候 visited:连接被访问过之后 hover:鼠标放到连接上的时候
具体用法:
a:hover { background:url(${contextPath }/images/frame/menu_list.jpg) repeat-x; }
a:active { background:url(${contextPath }/images/frame/menu_list.jpg) repeat-x; }
hover和a:visited书写顺序的重要性
今天在用a:hover属性的时候发现一个奇怪的问题,同一个页面里面有些链接的a:hover效果不能正常表现出来。链接的代码是一样,没有使用其它样式固定,搞的我莫名其妙。还以为是某个标签没有关闭,但是页面比较长,检查起来又嫌累,但是想来想去找不到其它原因,索性把浏览器一关,做别的事情去了。
重新打开这个页面的时候,突然发现那个链接的a:hover效果又出来了。我想了一下,点了那个链接,然后回过头再点,果然又没了。连忙检查css文档,发现a:hover属性写在了visited之前,改写到之后,重试,ok!
以前看书的时候注意到css中关于链接表现的书写有提示说各属性顺序不能颠倒,一直没有注意,写的时候通常都很随意。现在看来不能这个顺序还是很重要的。
css中关于超链接的四个属性一般正常顺序为:link,visited,hover,active,即
a:link
a:visited
a:hover
a:active
>>23.sping中注入的配置
<bean id="LoginByUserName"
class="com.autonavi.monitor.service.impl.LoginByUserName">
<property name="userService">
<ref bean="UserService" />
</property>
</bean>
property的name的值是在UserAction.java文件
public class UserAction extends BaseDispatchAction {
private UserService userService;
private StatisticsService statisticsService;
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
里面的userService
bean = "UserService"中的UserService是相应的bean的id值,id值为UserService,则这个就是UserService,若id的值为userService,则这个值就为userService
>>24.有时候设了断点后,一执行就跳到系统文件里面去了,这时候可以把断点设的再深入一点,设到最底层,设到你最想看到数据的方法里面。
这个方法设个断点,下一个方法又设一个断点,这样执行向右的箭头时,会执行到下一个断点,而不是一步一步的执行,这样可以迅速把上一个方法执行完查看结果。
>>25.清空List:
userList.clear();
>>26.用js拼接select的option
var index=0;
function change(){
if(index>0) {
return;
}
var content = "1#2#3#4#5";
var arr = content.split("#");
var childStr = "<option value='AllIDC'>=所有IDC=</option>";
if(arr.length>0){
for(var i=0;i<arr.length;i++){
childStr += "<option value='" + arr[i] + "'>" + arr[i] + "</option>";
}
}
$("#IDCName").html(childStr);
index++;
return;
}
解发动作:
<td style="text-align: left; padding-left: 35px;width:125px;">
<span class="STYLE1">IDC</span>
<select name="IDCName" id="IDCName" style= "width:90px" οnmοusedοwn="change();">
<option value="AllIDC">
=所有IDC=
</option>
</select>
</td>
>>27.改变form的action,两次改变发送两次请求
function sendRetrieve(thisForm, reportDiv, listDiv) {
thisForm.action = "${contextPath }/statisticsAction.do?method=viewStatusStatisticsReport";
submitForm(thisForm, reportDiv);
thisForm.action = "${contextPath }/statisticsAction.do?method=statusStatistics";
submitForm(thisForm, listDiv);
}
>>28.程序中获得系统的当前时间(毫秒数),用来计算某段程序的执行所花费的时间:
System.currentTimeMillis();
>>29.让某一列默认不显示:
主要代码:
style="DISPLAY: none"
测试实例:
<td background="${contextPath }/images/frame/main_51.gif" id="submenu3" style="DISPLAY: none"><div class="sec_menu" >
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="16%" height="25"><div align="center"><img src="${contextPath }/images/frame/left.gif" width="10" height="10" /></div></td>
<td width="84%" height="23"><table width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" style="cursor:hand" οnmοuseοver="this.style.borderStyle='solid';this.style.borderWidth='1';borderColor='#7bc4d3'; "οnmοuseοut="this.style.borderStyle='none'"><span class="STYLE3">企业安全</span></td>
</tr>
</table></td>
</tr>
<tr>
<td height="23"><div align="center"><img src="${contextPath }/images/frame/left.gif" width="10" height="10" /></div></td>
<td height="23"><table width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" style="cursor:hand" οnmοuseοver="this.style.borderStyle='solid';this.style.borderWidth='1';borderColor='#7bc4d3'; "οnmοuseοut="this.style.borderStyle='none'"><span class="STYLE3">信息安全管理</span></td>
</tr>
</table></td>
</tr>
<tr>
<td height="23"><div align="center"><img src="${contextPath }/images/frame/left.gif" width="10" height="10" /></div></td>
<td height="23"><table width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" style="cursor:hand" οnmοuseοver="this.style.borderStyle='solid';this.style.borderWidth='1';borderColor='#7bc4d3'; "οnmοuseοut="this.style.borderStyle='none'"><span class="STYLE3">安全审计</span></td>
</tr>
</table></td>
</tr>
<tr>
<td height="23"><div align="center"><img src="${contextPath }/images/frame/left.gif" width="10" height="10" /></div></td>
<td height="23"><table width="95%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" style="cursor:hand" οnmοuseοver="this.style.borderStyle='solid';this.style.borderWidth='1';borderColor='#7bc4d3'; "οnmοuseοut="this.style.borderStyle='none'"><span class="STYLE3">网站安全</span></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td height="5"><img src="${contextPath }/images/frame/main_52.gif" width="151" height="5" /></td>
</tr>
</table>
</div></td>
>>30. 不能被隐藏掉的域
<c:forEach var="varStatisticsResultBean" items="${regionProvinceStatisticsList}" varStatus="status" begin="0" end="9">
<tr>
<td height="20" bgcolor="#FFFFFF">
<div align="center">
${status.count }
</div>
</td>
<td height="20" bgcolor="#FFFFFF">
<div align="center">
${varStatisticsResultBean.value }
</div>
</td>
<td height="20" bgcolor="#FFFFFF">
<div align="center" class="STYLE1">
<div align="center">
${varStatisticsResultBean.ssize }
</div>
</div>
</td>
<td height="20" bgcolor="#FFFFFF">
<div align="center">
${varStatisticsResultBean.ssize_rate }%
</div>
</td>
<td bgcolor="#FFFFFF">
<div align="center">
<span class="STYLE1">${varStatisticsResultBean.count }</span>
</div>
</td>
<td height="20" bgcolor="#FFFFFF">
<div align="center">
<span class="STYLE1">${varStatisticsResultBean.count_rate }%</span>
</div></td></tr></c:forEach>
>>31.今天遇到了一个问题
List list = null;
和
List list = [null];
以及
List list = []
表示不同的意思。
>>32.Myeclipse中同一个项目有太多的样板,断点调试这一个项目的时候,有可能跑到另外一个项目中去,这个问题也很好解决,把另外一个项目关闭就行了。
>>33.修改生成的报表图片存放的路径,改下这句代码就行了,以前IMAGES_HOME为空字符串,不过要注意,要重启Tomcat,有时候就是这样,做了修改,访问的时候页面上却没有变化,感觉改错了,其实很大可能上是没有刷新,这时候不访试着重启下浏览器,重启下服务器。
>>34.开发好的项目往服务器上部署的时候,如果这时候数据库和打包好的项目位于同一个服务器上,则项目中的连接数据库的配置中不能写服务器的IP地址,要写成localhost
具体还不知道为什么,但写成IP的时候通不过。
>>35.操作数据库的程序用到的jar包都要重新放到myeclipse运行环境里面。
>>36.JSP文件中引入实体类文件有两种方式:
第一种:
一起引入,各个类文件之间用逗号隔开,最后可以用分号,也可以不用,如下所示:
<%@ page import="java.util.*, com.autonavi.monitor.util.ConvertUtil"%>
第二种:
单个引入,但每个类的后面不能以分号结尾,要什么都不写,当然,最后一个类可以用分号结尾。如下所示:
<%@ page import="com.autonavi.monitor.model.*"%>
<%@page import="com.autonavi.download.bean.ConfIDC"%>
<%@page import="com.autonavi.download.bean.ConfChannel"%>
<%@page import="com.autonavi.download.service.ServiceCanterImp"%>
<%@page import="com.autonavi.download.service.inter.ServiceCanter"%>
>>37.动态改变img标签的src属性
js代码:
function changeBandWidthImg(url) {
var bandwidthimg = document.getElementById("bandwidthimg");
bandwidthimg.src=url;
}
function changeLogImg(url) {
var logimg = document.getElementById("logimg");
logimg.src=url;
}
jsp代码:
<tr>
<td height="40">
<div align="center">
<img id="bandwidthimg" style="cursor: hand;"
οnmοuseοver="javascript: changeBandWidthImg('${contextPath }/images/frame/bandwidth1.gif');"
οnmοuseοut="javascript: changeBandWidthImg('${contextPath }/images/frame/bandwidth.gif');"
src="${contextPath }/images/frame/bandwidth.gif"
width="40" height="40"
οnclick="window.parent.parent.parent.frames['topFrame'].changeNavigate(3, '${contextPath }/pages/bandwidth/bandwidthNavigate.jsp', '${contextPath }/pages/mainframe/rightindex.jsp');" />
</div>
</td>
<td height="40">
<div align="center">
<img id="logimg" style="cursor: hand"
οnmοuseοver="javascript: changeLogImg('${contextPath }/images/frame/log1.gif');"
οnmοuseοut="javascript: changeLogImg('${contextPath }/images/frame/log.gif');"
src="${contextPath }/images/frame/log.gif"
width="40" height="40"
οnclick="window.parent.parent.parent.frames['topFrame'].changeNavigate(4, '${contextPath }/pages/logdownload/logdownloadNavigate.jsp', '${contextPath }/pages/logdownload/downloadbase.jsp');" />
</div>
</td>
</tr>
>>38.常用的css属性
字体样式:
font-size: 18px;font-weight: bold;
居中显示:
style="text-align:center;"
显示到顶端:
style="vertical-align: top;"
>>39.非空判断
if(queryId.equals("search") || queryId == null)和反过来表示不同的意思,||有短路功能
可以这样写:
if(queryId == null || queryId.equals("search") )
也可以这样写:
if(("search").equals(queryId) || queryId == null)
>>40.全局变量的位置在this里面,断点调试的可以看清楚:
>>41.获取iframe的顶级frame
function getRootFrame(){
var root = window;
//获取父框架
var father = root.parent;
while(father != root){
root = father;
father = root.parent;
}
return root;
}
iframe的顶级frame有个特点,那就是:
若此window为顶起frame,则window.parent 等于 window
>>42.MyEclipse有时候会出现一些奇怪的问题,这时候主要的解决方法就是重启,有时候还会报错,这时候可以试一下重新编译这个项目:
重新编译项目的方法:MyEclipse中protect->clean,然后选中指定的项目,点击确定就行了。 如图所示:
>>43.计算两个时间相差几天
/**
* 计算两个时间相差几天
*
* @param start
* @param end
* @return
*/
public static long caculateDay(long start, long end) {
long length = end - start;
long count = length / (24 * 60 * 60 * 1000);
return (double) length / (24 * 60 * 60 * 1000) > length
/ (24 * 60 * 60 * 1000) ? count + 1 : count;
}、
>>44.电脑连接多媒体切换界面的方法:功能键Fn + F8
>>45.监听键盘事件,当按Enter键时提交相应的表单。
<script language="javascript" event="onkeydown" for="document">
//若为回车键
if(event.keyCode == "13" ) {
subForm();
}
</script>
>>46.
function chekPasswd(){
if($("#password").val()!=$("#password1").val()){
alert("两次输入的密码不一样。");
$("#password1").val("");
//$("#password1").focus();
return false;
}
}
修改密码时验证两次输入的密码是否相同,注意一定要把$("#password1").focus();注释掉,不然会不停的弹出窗口提示
>>47.Set<Channel>转化成List<Channel>
List<Channel> channelList = new ArrayList<Channel>();
//当登录用户为超级管理员时设置获得所有的频道
if(user.getActor() == Constants.USER_ACTOR_SYS_ADMIN) {
channelList = getChannelList();
} else {
Channel channel = null;
Set<Channel> channelSet = user.getChannels();
Iterator<Channel> iterator = channelSet.iterator();
while(iterator.hasNext()) {
channel = (Channel)iterator.next();
channelList.add(channel);
}
}
>>48.Set,List,Map的区别和联系?
Set —— 其中的值不允许重复,无序的数据结构
List —— 其中的值允许重复,因为其为有序的数据结构
Map —— 成对的数据结构,健值必须具有唯一性(键不能同,否则值替换)
Set不可重复,所以可以用它来排重,但存在一个问题,因为它无序,所以顺序会被打乱,可以用LinkedHashSet解决乱序的问题
List有序,所以如果查询出的结果要排序,那采用List
实际上java集合里的Set都是基于Map的,set相当于map里所有的key指向同一个value。
>>49.从SVN上检出项目后只在项目名上出现一个红叉,其他地方都没有,说明肯定跟jar包的引入有关系,可以右键点击该项目名->Build Path -> Config Build Path -> 然后在弹出的对话框中选择第三个选项卡Libraries,看看这里面有没有什么jar包找不到路径,如果实在看不出来问题,就把jdk的jar包删掉再重新加载进去。一般经过上述步骤问题基本能够得到解决。
删掉jdk系统jar包的方法,选中JRE System Library [ jdk1.6.0_06 ] ,然后点击右边的remove按钮即可。
重新加载jdk的系统jar包,点击Add Library按钮,弹出如下的对话框:
选中JRE System Library,点击Next,弹出如下对话框:
选择第一个:Workspace default JRE (jdk1.6.0_06)后点Finish即可。
插入——对象——由文件创建,选择你需要的文件插入即可。
插入的时候可以选择插入的模式,是把文档的内容插入当前文档还是只在当前文档中保留文档的图标
保留图标模式下,双击图标可以打开链接的文档。
>>51.功能键Fn+方向键可以调节笔记本电脑屏幕亮度。
>>52.firefox中安装firebug插件的方法:
Firebug是与Firefox集成的,所以我们首先要安装的事Firefox浏览器。安装好浏览器后,打开浏览器,选择菜单栏上的“工具”菜单,选择“附加软件”,在弹出窗口中点击右下角的“获取扩展”链接。在打开的页面的search输入框中输入“firebug”。等搜索结果出来后点击Firbug链接(图1-1红色圈住部分)进入Firebug的下载安装页面。下面按提示操作即可。
>>53.诺基亚PC套件安装之后不小心把后缀为.JAR的文件弄成压缩的图标了 安装PC套件之后,显示的是诺基亚那个带有十字的图标,而且点鼠标右键还有一个:诺基亚安装程序。。。什么后。名字没记住。后来用打开压缩文件的方式打开时,电脑提示:是否要把应用程序安装到诺基亚。点了确定之后,手机里的。JAR为后缀的文件图标都变成压缩文件的图标了。用还是可以用。但是想知道怎么弄回来。
上边的操作都是在手机连接电脑之后,在电脑上操作的。问题补充:
在电脑里试过这样,但是没用,在手机里右键只有打开,没有属性那个选项。
最佳答案 电脑上:工具——文件夹选项——文件类型,在里面找到jar,高级里面可以改图标。要记得顺序,先改图标再改打开方式,不然图标是不会变
>>54.HTML5支持的浏览器
>>55.修改myeclipse字体大小
1、jsp字体
英文版的MyEclipse 5.5.1GA,选择Windows菜单下的Preferences子菜单,在打开的Preferences对话框里左边有一个General项,展开它,
它下面还有个Appearence,选择其中的“Colors and Fonts”,然后在右边列表框里找到Basic项,里面的“Text Font”即是针对文本编辑
器的字体进行设置的地方。直接在JSP文件编辑器上点击右键,然后选择属性,就可以设置了
2、java代码字体
英文版的MyEclipse 5.5.1GA,选择Windows菜单下的Preferences子菜单,在打开的Preferences对话框里左边有一个General项,展开它,
它下面还有个Appearence,选择其中的“Colors and Fonts”,然后在右边列表框里找到java项,里面的“Java Editor Text Font”即是
针对文本编辑器的字体进行设置的地方。
>>56.用jquery清空或修改文本框的内容
jquery 用jquery给文本框赋值,清空文本框
$(document).ready(function(){
$("#resetbtn").click(function(){
$("#user_id").val("");//清空
$("#realname").val("黑色头发");//赋值
});
});
>>57.linux中定时执行任务:
crontab -u root -e
*/1 * * * * echo "Good morning." >> /tmp/testecho.txt
- <script type="text/javascript">
//删除左右两端的空格
function trim(str)
{
return str.replace(/(^\s*)|(\s*$)/g,"");
}
//删除左边的空格
function ltrim(str)
{
return str.replace(/(^\s*)/g,"");
}
//删除右边的空格
function rtrim(str)
{
return str.replace(/(\s*$)/g,"");
}
</script>
>>59.使用JQuery获取select、radio、checkbox的值和操作技巧
以下总结为自己个人的使用总结,结合在网上查的资料以及实际的使用,总结出来 会持续更新…… 也希望大家补充 一、select篇
三、checkbox篇
|