« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
戒除浮躁,读好书,交益友 |
Blog信息 |
blog名称:邢红瑞的blog 日志总数:523 评论数量:1142 留言数量:0 访问次数:9693468 建立时间:2004年12月20日 |

| |
[j2ee]spring对于web编辑页面中POJO保持和传递的做法带来的问题 原创空间, 软件技术
邢红瑞 发表于 2005/4/25 13:08:48 |
这是个老问题,不光是spring,所有mvc都必须处理这个问题. 一般的做法是构造一个的commandObject记录需要修改的属性,并且记录主键id。 大致流程是,先load POJO,copy属性到commandObject,页面修改了后,根据主键id再load一次POJO,然后copy属性一次,再update,所以在update之前必须select一次. 通用的解决办法是把POJO放到httpSession中,页面里直接对httpSession里的POJO操作,当进行save操作的时候 从httpSession里拿到的POJO,就能直接用hibernateSession.update回数据库 ,因为hibernate的PO可以脱离hibernateSession然后再次进入,不用构造commandObject,让POJO直接传递到View再回到Controller。 spring mvc已经实现了相应的功能,我们可以直接把hibernate的PO作为commandObject类传递.
在spring的AbstractFormC |
|
[j2ee]在spring的initBinder()如何访问command object 原创空间, 软件技术
邢红瑞 发表于 2005/4/20 21:35:29 |
在spring的initBinder()如何访问command object 一般的情况下,不会遇到这个问题,有一次使用AbstractWizardFormController,如果是SimpleFormController, formBackingObject() 可以创建command object,但是AbstractWizardFormController在提交表单时,formBackingObject()不会被调用 只好在initBinder()中创建对象,必须使用getTarget(); public void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) { log.debug("sessionForm---------- |
|
[j2ee]mvnforum的很多问题 原创空间, 文章收藏, 软件技术
邢红瑞 发表于 2005/4/2 13:00:48 |
mvnforum好像国内用的蛮多的。但中文支持并不好,管理平台没有汉化,搜索也有中文问题,连公告和置顶也没有,版主管理功能很弱。它的web层使用了Struts框架,页面使用了大量的脚本和标签库。整个论坛的技术框架很差,代码注释很少,更不用说是单元测试了。 |
|
[j2ee]spring的referenceData绑定到select 原创空间, 软件技术
邢红瑞 发表于 2005/3/29 15:38:45 |
spring的formBackingObject只允许返回一个对象.如果返回不同的几个对象,如何做,使用referenceData,它在formBackingObject之后调用 以下是个例子 SimpleFormController的子类中加入 protected Map referenceData(HttpServletRequest req) { Map<String, Object> refData = new HashMap<String, Object>(); refData.put("facils", facility.getFacilities());
return(refData); } jsp中加入
<select name="facility"> <c:forEach items="${facils}" var |
|
[j2ee]spring的filter与tomcat的get和post 原创空间, 软件技术
邢红瑞 发表于 2004/12/23 12:30:57 |
使用Tomcat 5.0.20,我们使用Form submit 的数据將会以ISO8859-1处理,我们必须自己将字符串转换为GB2312/GBK(简体中文),在web程序中,对所有的 request.getParameter("xx"); 作了 toGBKString() 的处理,发现还是出现了中文问题,中文还是可能变成乱码!
经过分析,发现问题出在 QueryString的处理上,在使用 Tomcat 4.x时,对于 SUBMIT 時无论采用 GET or POST,Tomcat server 对 parameters 的处理都采用ISO8859-1处理,但在 Tomcat 5.x 版,将get请求独立出来,如果Form 的 Method 採用 GET 及或者在 URL 上的写中文,上传到 Tomcat时,无论如何转码,都是乱码,即使使用 URLEncode结果也一样。 通过研究tomcat的文档可以找到解决办法,在$TOMCAT_HOME/webapps/tomcat-docs/config/http.html 中写道 URIEncoding:
|
|
|