- 浏览: 175353 次
- 性别:
- 来自: 福州
文章分类
最新评论
-
mncc:
太好了!!!Mark一下!不过貌似那个冒泡的还少个右下角吧? ...
Google Maps 图标地址收藏 -
ivorytower:
去年5月捡了命回来,现在不评论那些豆腐渣工程……
汶川地震留给我们什么?单单建什么地震纪念馆是没有用的 -
lgx2351:
wtusmchen 写道blog写的不错啊,以后多过来学习:) ...
js学习笔记2-函数 -
wtusmchen:
blog写的不错啊,以后多过来学习:)
js学习笔记2-函数
以前经常写的代码,过一了段时间再写发现了一些问题,说明了自己对代码的理解不够。总结如下:
一:
编辑某一条记录,点击“编辑”按钮,当打开的是一个新的页面(如模态框)时,想到记录的ID传到打开的页面去。因为打开的页面与原来操作的页面不是同一个window,所以当执行点击“编辑”按钮操作时,没办法把值赋给打开的页面的元素(如隐藏元素)。如:
$("PHONE_LIST_ID").value = phone_list_id//这种作法是不行的,取不到$("PHONE_LIST_ID"),因为操作的页面与$("PHONE_LIST_ID")所在的页面不是同一个页面。
这时,可以用URL参数传递的方法,如下:
url = "/epub_web/jsp/phone_list_mgr/get_classify_phone.do?PHONE_LIST_ID="+serial_num; window.showModalDialog(url,'',"dialogWidth=600px;dialogHeight=400px");
在打开的JSP页面里用:value="<%=request.getParameter("PHONE_LIST_ID")%>",如下:
<input type="hidden" name="PHONE_LIST_ID" id="PHONE_LIST_ID" value="<%=request.getParameter("PHONE_LIST_ID")%>"></input>
所以,通过url参数传递的方式,可以实现跨页面的参数传递,而不用用隐藏域来传递。这在跨页面的参数传递中,特别是类似于对记录的编辑操作等,可以很好地适用.
二:
上面第一点的:
<input type="hidden" name="PHONE_LIST_ID" id="PHONE_LIST_ID" value="<%=request.getParameter("PHONE_LIST_ID")%>"></input>
这行代码我原来是用<html:hidden>,如下:
<html:hidden property="PHONE_LIST_ID" value="<%=request.getParameter("PHONE_LIST_ID")%>"/>
因为我本机是在jboss的环境,但是当拿到webspheer的环境下却有提示错误,以前好像就有发现这个情况,也不知道是为什么,先记录下来。
三:
由于粗心,在xml配置时,<action path="" type="" name="" scope="" parameter=""></action>中把name=""这个属性漏掉了,所以程序跑起来时,在servlet端的ActionForm老是提示为null,这发了一些时间。以后有时间的时候好好弄清楚struts的配置的属性的作用。
四:
在servlet端,用struts的ActionForm自带的get和set方法时,发现前台没有set成功。后来查了很久才知道,前台没有用struts自带的html标签,如<hmtl:text>我就直接用<input type="text"/>,所以struts认不到,在action端用set方法当然前台没有反应了。以前也遇到过这些问题,时间一久就忘了,所以还是需要做些记录。
五:
数据库里字段用char与varchar2不同,有些人喜欢用char,比如用char(2),如果值是'1'的话,那么在数据库里后面还有个空格。所以,当在action端用set方法时并没有得到我们想要的结果,出现这种
情况时,有如下几种解决方法
1.一是设计数据库的人只有在确定值是确定位数时才用char,否则都用varchar2。
2.二是在写sql语句时用trim()方法来截掉空格。
3.三是在取到有空格数据时用substr来处理。
六:
关于checkbox,一般我们都是用一个name来构成一个checkbox数组,这样因为是一个数组,每次就只能选中一个值。一般用循环来处理每个checkbox元素,如下:
function getRadioValue(objRadio){ var resultValue; var j = objRadio.length; for(var i=0;i<j; i++){ if(objRadio[i].checked) resultValue = objRadio[i].value; } return resultValue; } function isChecked(radioObj){ resultChecked = false; for(var i=0;i<radioObj.length;i++){ if(radioObj[i].checked){ resultChecked = true; break;//这里是break退出循环并继续往下执行,而不是return。 } } return resultChecked; }
七:
很经常,我们需要多个引号来构造,这些引号可能嵌套,这种写法很容易很错。注意以下几点:
1.可以适当地把一些拿出来构成一个函数来引用,引用可以减少引号的使用。
2.单引号里面可以用多引号,同样,多引号里面也可以用单引号,而不需要转义。
3.转义符可以一直嵌套下去,比如\\"\\"需要嵌套的时候可以\\\"...\\\"。
4.可以用"来代替引号。
例子如:
document.write("<span style=\"width:100;background-color:yellow\" onclick=alert("test") onmouseover='status=\"abcd\\\"defg\\\"hijk\"'>test</span><br>");
八:
jsp端与action端交互,常常用如下方法:
(1).前台发送一个ajax请求,后台处理请求后返回一个jsp页面,前台用得到的jsp页面的html代码赋值给需要显示的元素,如div等。如:
pars = "ENGAGE_INFO_ID="+$F("ENGAGE_INFO")+"&ENGAGE_DTS_IDLIST="+projCommJs.getCheckboxValue(); new Ajax.Request(this.modulePath+"addtoInfo.do",{ parameters:pars, onCreate:function(){ }, onComplete:function(returnStr){ $("Engagediv").innerHTML = returnStr.responseText; $("btnRefresh").fireEvent("onclick"); } } );
(2).前台发送一个ajax请求,后台处理请求后并不是返回一个jsp页面,而是构造一个html代码,再把这个html代码发送到前台。
public static void responseText(HttpServletResponse res, String s){ //指定内容类型 res.setContentType("text/html;charset=GBK"); //禁止缓存 res.setHeader("Pragma","No-cache"); res.setHeader("Cache-Control","no-cache"); res.setDateHeader("Expires", 0); try { PrintWriter out = res.getWriter(); out.print(s); out.close(); } catch (IOException e) { e.printStackTrace(); } }
3).前台发送请求,后台把需要在前台显示的值放在request或session中,前台可以用标准的jsp标签或自定义标签来分析request或session中的值来进行显示。这部分的内容可以看看书jsp与servlet的书,如:oreilly.JSP设计第二版等书。
九:
在前台发送ajax请求时,参数如果是一个表单,表单里有很多的元素,这时候不需要一个个去写,可以用Form.serialize(),如下:
var pars = encodeURI(Form.serialize(document.forms[0]));
用这种方式传递到action端后,因为参数是经过编码的,所以,在action端需要解码,而不能只是能过request.getParameter()来取值。(如果前台是如form.submit()或是没有编码的参数传递过来就不需要),要不然汉字会是乱码。如下:
private String urlDecode(String str) throws Exception{ try{ str = java.net.URLDecoder.decode(str, "UTF-8"); }catch (Exception ex){ System.out.println(ex.getMessage()); ex.printStackTrace(); } return str; }
发表评论
-
判断一个url是否连接正常
2012-01-13 19:45 180try { ... -
Hibernate+Spring+Struts2+ExtJS开发CRUD功能
2012-01-06 10:03 0http://blog.csdn.net/myloon/art ... -
安装Oracle运行pl/sql developer(转)
2011-06-09 16:48 972Sql客户端中,虽然最便捷的是万能而且轻量无比的Sql Wor ... -
boss部署时出现的 Bad version number in .class file错误
2011-03-11 17:32 1013http://blog.sina.com.cn/s/blog_ ... -
ireport制作报表
2011-01-19 16:34 1189ireport制作报表好早以前用过,过了一段时间再做,发现都忘 ... -
Eclipse+MyEclipse安装及环境配置
2010-12-14 10:22 958为了方便更多的人,写了这个! MyEclipse是 ... -
上传下载总结
2010-07-19 11:40 172这里的上传是上传到数据库的blob字段中。前台的代码省略 ... -
对java对象和jsp的理解
2010-07-19 11:10 0一:对jsp的理解 jsp其实就是servlet ... -
Eclipse快捷键
2010-06-19 16:20 858编辑相关快捷键 Eclipse的编辑功能非常强大 ... -
eclipse快捷键
2010-05-15 11:02 803作用域 功能 快捷键 ... -
关于java的一些公共方法总结(不断更新)
2010-03-05 11:06 239工作总结,不说多,直接上代码 public class Ut ... -
HttpServletResponse的处理封装(将不断更新)
2010-03-05 11:04 370工作总结,不说多,直接上代码: public class H ... -
HttpServletRequest的处理封装(将不断更新)
2010-03-05 11:03 1700不多说了,时常工作整理的,直接上代码吧,欢迎大家多提意见。 ... -
对java web工程的个人理解
2010-03-02 10:50 4031、在多工程下对session的理解: 一个浏览器打开一 ... -
个人实施工作总结(只是个人实施工作总结)
2010-01-21 16:31 693这次升级出了好多问题,记录如下: 一、 更新了high ... -
基于struts的web应用开发总结(三)
2010-01-13 16:08 2241.应用开发常常从数据库取出数据来处理。而数据库的数据有可能是 ... -
json在服务端取值
2010-01-07 15:19 1070我们一般在servlet里返回一个json的toString( ... -
action端发请求并且处理
2010-01-07 15:13 120我们一般是在前端发请示,然后在struts的action端来处 ... -
修改Eclipse/MyEclipse项目的默认编码(转)
2009-12-26 15:35 3535... -
servlet端取前台参数值方法探讨
2009-12-20 21:24 636servlet取前端传过来的参数值,我们一般用HttpServ ...
相关推荐
基于Struts框架的Java Web应用开发研究 本文主要研究了基于Struts框架的Java Web应用开发,通过对图书管理系统中的图书档案管理模块的设计,来提高图书档案管理的效率。Struts是一种基于MVC设计模式的开源框架,在...
Java Web整合开发实战--基于Struts 2+Hibernate+Spring.pdf 1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 ...
Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java的企业级Web应用程序。它提供了MVC(Model-View-Controller)设计模式的实现,帮助开发者构建结构清晰、易于维护的Web应用。《Struts ...
《精通Struts基于MVC的Java Web设计与开发》是一本深入探讨如何使用Struts框架进行Web应用开发的专业书籍。作者孙卫琴以其丰富的经验和深入的理解,为读者提供了全面、系统的Struts MVC学习路径。 首先,我们要理解...
本项目是一个基于MVC Struts框架开发的小型Web应用程序,它充分展示了Struts框架在构建动态、数据驱动的Web应用中的强大功能。 【描述】 这个小型Web应用充分利用了Struts框架的核心特性,包括Action类、配置文件...
Struts和Hibernate是两种在Java Web开发中广泛使用的开源框架,它们在构建高效、可维护的Web应用程序...通过分析和运行这些源代码,开发者可以更好地了解如何在实际项目中应用Struts和Hibernate,提升Web应用开发技能。
STRUTS 2:基于MVC的JAVA WEB应用开发实战——网络商店实例编程part1
Struts1是早期版本,而在本书中提到的是可能基于Struts2,它是Struts1的升级版,提供了更丰富的功能和更灵活的架构。Struts2通过拦截器实现AOP,允许自定义行为,比如验证、异常处理等。它与Spring的集成也更为紧密...
struts2包有commons-logging-1.0.4.jar,freemarker-2.3.8.jar,ognl-2.6.11.jar,struts2-core-2.0.12.jar,xwork-2.0.6.jar
STRUTS 2:基于MVC的JAVA WEB应用开发实战——网络商店实例编程part2
【标题】"基于Struts2开发新闻...对于初学者来说,这是一个很好的学习案例,可以帮助他们深入理解Struts2框架,并掌握完整的Web应用开发流程。而对于有一定经验的开发者,这个项目也可以作为参考,了解最佳实践和技巧。
Struts是Apache软件基金会旗下面向Java平台的一个开源框架,主要用来帮助开发者构建基于MVC(Model-View-Controller)模式的Web应用程序。《Struts Web设计与开发大全》这本书全面深入地介绍了如何使用Struts框架来...
本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分体会Struts框架在开放大型、可扩展的Web应用方面发挥的优势。第4章到第7章深入探讨了Struts框架的核心...
Struts 提供了一个强大的框架结构,使得开发者能够更容易地管理和维护复杂的Web应用程序。 - **1.3.2 其他MVC框架** - 除了Struts外,还有Spring MVC、JSF等流行的Java Web MVC框架可供选择。每种框架都有其特点和...
Struts框架是一个开源的Java Web应用框架,遵循MVC设计模式,用于简化Web应用程序的开发过程。它通过分离模型、视图和控制器,使得代码结构更加清晰,易于维护和扩展。Struts框架的优势主要体现在以下几个方面: - ...
### 基于Struts框架的Web系统实现 ...通过上述介绍可以看出,基于Struts框架的Web系统实现方法能够有效地利用JSP标记技术和MVC模式的优势,为开发者提供了一个高效、灵活的开发框架,有助于构建复杂的Web应用程序。
Struts2是一个强大的Java Web应用程序框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性、可扩展性极高的Web应用程序的工具和组件。本章将带你逐步深入理解并实践如何创建第一个Struts...
在本章"第3章【源码】java web整合开发实战--基于struts 2+hibernate+spring"中,我们将深入探讨如何在Java Web应用程序中集成三个关键的开源框架:Struts 2、Hibernate和Spring。这些框架分别负责控制层、持久层和...