07年6月20日
今天做整合了,遇到几个技术问题,整理出来:
(1)javascript中怎么把字符转化成ascii码及怎么把ascii码转化成字符
<script>
function updatecheck(id)
{
if(id=="1")
{
var fledtion ="";
//获得fileEditionNumber的值,并且截取第1位(第1位是英文字母A-Z)
var fileedition = document.forms[0].fileEditionNumber.value.substring(0,1);
//获得fileEditionNumber的值,并且截取第1位以后的东西,可以看出来,fileEditionNumber是由英文字母
A-Z+数字组成的
var digitnumber = document.forms[0].fileEditionNumber.value.substring(1);
if(digitnumber<99){
digitnumber++;
fledtion = fileedition ;
}else{
digitnumber="00";
//将字符转化为相应的ASCII码
var fileeditionCode = document.forms[0].fileEditionNumber.value.charCodeAt(0);
fileeditionCode = fileeditionCode+1;
//将上面转化的ASCII码转换成相应的字符
fledtion = String.fromCharCode(fileeditionCode);
}
var edir = fledtion + digitnumber;
//alert(edir);
document.forms[0].fileEditionNumber.value = edir;
}
if(id=="2")
{
var fileupdatenumber = document.forms[0].fileUpdateNumber.value;
fileupdatenumber++;
document.forms[0].fileUpdateNumber.value = fileupdatenumber;
}
}
</script>
<html:form action="略" method="post">
<table width="100%" height="25" border="0" cellpadding="0" cellspacing="0" class="font_14">
<tr>
<td><div align="center">变更:</div></td>
<td><input type="radio" name="update" value="1" onclick="javascript:updatecheck(this.value);"/>版本号 </td>
<td><input type="radio" name="update" value="2" onclick="javascript:updatecheck(this.value);"/>修订号 </td>
</tr>
<tr>
<td><div align="center">版本号:</div></td>
<td ><input type="text" name="fileEditionNumber" value="<%=fileEditionNumber%>"/></td>
</tr>
<tr>
<td width="130"><div align="center">修订号:</div></td>
<td><input type="text" name="fileUpdateNumber" value="<%=fileUpdateNumber%>"/></td>
</tr>
</table>
</html:form>
这就是解决问题的办法了。
(2)关于内存地址的问题(传说中的HashCode)
在我的DAO方法里,有这样的方法:
// 文件搜索的方法
public List lunceFileList(LunceFileForm luncefile, int pageSize, int page)
throws Exception {
List luncefileList = new ArrayList();
List values = new ArrayList();
List retList = new ArrayList();
String sql = " select vlune.fileId, vlune.fileName, vlune.upLoadDate, vlune.filePrincipal from Vluncefile vlune "
+ " where 1=1 ";
if (luncefile.getFileName() != null
&& !"".equals(luncefile.getFileName())) {
sql += " and vlune.fileName like ?";
values.add("%" + luncefile.getFileName() + "%");
}
if (luncefile.getUpLoadDate() != null
&& !"".equals(luncefile.getUpLoadDate())) {
sql += " and vlune.upLoadDate like ?";
values.add("%" + luncefile.getUpLoadDate() + "%");
}
Session session = this.getHibernateTemplate().getSessionFactory()
.openSession();
Query query = session.createQuery(sql);
query.setFirstResult(pageSize * (page - 1));
query.setMaxResults(pageSize);
if (values.size() > 0) {
for (int i = 0; i < values.size(); i++) {
query.setString(i, values.get(i).toString());
}
}
retList = query.list();
if (retList.size() != 0) {
for (int i = 0; i < retList.size(); i++) {
LunceFileForm luncefile2 = new LunceFileForm();
Object[] objs = (Object[]) retList.get(i);
if (objs != null) {
FileInfoVO fileInfo = new FileInfoVO();
luncefile2.setFileId((new Integer(objs[0].toString())));// String转化为integer
luncefile2.setFileName((String) objs[1]);
luncefile2.setUpLoadDate((String) objs[2]);
luncefile2.setUserName((String) objs[3]);
luncefileList.add(luncefile2);
}
}
}
session.flush();
session.clear();
session.close();
return luncefileList;
}
这是我建的基于大概九张表的全文搜索视图,注意这段代码蓝色部分,就是我今天遇到的问题,一开始我没有写这行蓝色的代码,查出的数据就是一条,而且是完全相同的一条数据,我大汗。。。难道是辛苦建的视图出错了?回头检查了一下,没有错!Oh yes!!!
看来是程序错了。。。。单步调试,发现程序确实封装了想要的数据,但是为什么却显示相同的数据?问问吧,才知道,当我没写那行蓝色的代码时,封装的对象只new了一次的,当在循环里面,循环一次把数据加在这个内存地址里一次,这样下去,虽然循环了3次,但是却把先前循环出的数据给覆盖了,程序的单步调试是看不出来的!循环几次就覆盖几次,还都加在了List里面。。。。。最后得到的是循环N次的相同的N个数据!这段蓝色的代码必须写在循环体的里面!循环一次,就new一个对象,虽然new的对象名字相同,但是内存地址是不同的,再加在List里面就不会覆盖数据了,而且程序运行找的是内存地址,所以对象名字相同也不会有任何影响的!这就是传说中的hashcode,而且,每次只要重启java虚拟机,得到的内存地址也是不同的!
(3)顺便把java中字符和ascii码的转换
1、字符转换为ASCII值
char y=''a'';
int x = (int)y;
System.out.println(x);
2、ASCII值转换成字符
String aa=String.valueOf((char)13);
这是我们经理给我的方法,但是在这里我却用上面的javascript实现的,但是留着吧,以后一定会有用处,多学学没坏处。
分享到:
相关推荐
### 毕业设计中存在的问题及解决办法 #### 一、引言 随着互联网技术的飞速发展,网站已经从最初的信息展示平台逐渐演变为集信息交流、互动娱乐等多种功能于一体的综合服务平台。对于毕业设计中的个人网站项目而言...
课题研究中存在的问题及解决方法.doc
php配置中遇到问题和解决办法总结,是我三年工作经验的积累,值得大家收藏
JIRA是一款功能强大的项目管理工具,在实际使用中可能会遇到各种问题,本文总结了在使用JIRA管理测试数据近5年时间中遇到的问题,并提供了相应的解决办法,以帮助大家少走弯路,共同进步。 一、数据库的使用 在...
"软件测试过程中常见问题与解决方法" 软件测试过程中常见问题...软件测试过程中常见问题与解决方法是Tester 在软件测试过程中需要具备的技术能力和经验。Tester 应该积极地解决这些问题,来提高软件测试的效率和质量。
hadoop常见问题及解决方法 Hadoop是大数据处理的重要工具,但是在安装和使用Hadoop时,可能会出现一些常见...这些常见的问题及解决方法,能够帮助用户快速解决Hadoop的安装和使用问题,提高Hadoop的使用效率和稳定性。
自己的端问题及解决方式
### 常见软件开发平台搭建实验中的问题及解决方法 #### 一、Tomcat运行时的常见问题及其解决策略 在进行软件开发时,Tomcat作为常用的Java Web服务器之一,其正常运行对于项目的顺利推进至关重要。但在实际操作中...
以上这些问题和解决办法都是在实际项目开发中常见的问题,通过有效的沟通、规范的代码管理和细致的测试,可以避免或解决这些问题,提高项目的质量和效率。在团队协作中,遇到问题并不可怕,关键是要有解决问题的决心...
ADS 使用中遇到的问题讨论和解决方法 本文讨论了在使用 ADS 时遇到的问题和解决方法,这些问题主要来自于 UCOS 从 FLASH 中启动时遇到的困难,以及如何使用 Scatter 文件来解决这些问题。 首先,ADS 是什么?ADS ...
施工中遇到的问题及解决方法.doc
然而,当前医院后勤保障工作中存在一系列问题,需要针对性的解决策略。 首先,后勤保障人员短缺是普遍现象。随着医院规模的扩大和医疗设备的更新换代,对后勤保障的需求日益增加,但工作人员数量并未同步增长。这...
SQL Server 2005是微软推出的一款关系型...提供的"sql2005使用中遇到的问题解决方法.txt"文件很可能会涵盖更多具体问题的解决步骤和技术细节,建议仔细阅读并结合实践,以提高对SQL Server 2005的掌握和问题解决能力。
2 java中double类型数据运算不精确问题的解决办法(采用java.math.BigDecimal类来进行精确计算。) 3 get方式传值乱码问题解决 4 查询被锁的数据,解锁 ,数据库连接数 5 下拉框的数据回显 6 mybatis批量更新,批量...
在WEB开发过程中,CSS(层叠样式表)是构建页面布局和样式的基石,但不同浏览器对CSS的支持程度和解析方式可能存在差异,这就引出了我们常说的“CSS兼容性问题”。作为一名刚毕业就投身此领域的开发者,过去一年的...
无线传感器在实际应用中常会遇到各种问题,这些问题会影响到传感器的正常工作和数据准确性。以下将对无线传感器的五大常见问题进行详细分析,并提供相应的解决方法。 首先,无线传感器安装后可能会出现显示跳动或...
用于windows正版激活中遇到的问题和解决办法
在实际工作中,我们需要具备解决问题的能力,包括专业知识、沟通、协调能力、团队合作能力、良好的控制情绪的能力、良好的判断力、高度的执行能力、激情和有效的方法等能力。只有具备这些能力,我们才能更好地处理...
电脑内存是计算机系统中至关重要的部分之一,它主要负责数据的临时存取任务。随着电脑使用频率的增加,内存条可能出现各种故障,影响电脑的正常...了解这些问题及其解决办法对于提高电脑系统的稳定性和性能至关重要。