`
Riancy007
  • 浏览: 116563 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

项目实践二

阅读更多
需要理清一下了。过程比较复杂,出的问题也比较多。

这几天主要做了一个简单的增,删,查,改的功能。

先把整个流程说下。
首先,进入一个可以增加记录(也是修改记录)的JSP页面1,上面有输入框,有保存按钮(其实这个按钮有个功能的作用的,后面再说)。当填写完后,点击保存,在JSP页面会在点击按钮上做个onclick的js,用它可以来判断这次点击保存是增加新记录,还是更新记录。

其次,还有一个页面是用于查询和删除的JSP页面2。它主要是一个列表框。当进入这个页面前(在spring的MVC中是通过xxxAction的某个方法返回一个视图),已经把这张表的所有对象都已经读出来了,保存在一个LIST对象中,则在JSP2中,用迭代的方法读取出各条记录,并显示出来。
删除功能一般做在列表中,用一个js来提交点击删除字段的请求。一般就是一个onclick=“jsFunc”,一般删除都是通过查找某个ID的记录,再删除。所以必须给deleteXXXXAction传递一个ID值。onclick="delProcess('<c:out value="${processe.serialid}"></c:out>')">。注意这里是c:out,不是c:set。

同样,要修改时,可以双击某行记录,弹出修改页面,在这里也就是JSP1。两个方面的问题需要注意。
1。要想达到双击一行都可以修改的效果。必须在<tr >中写,而不是在某个<td>中写。要象这样

<tr   onDblClick="modProcess('<c:out value="${processe.serialid}"></c:out>')">
<td>..</td>
<td>..</td>
<td>..</td>
</tr>

其中参数的道理同删除。

2。关于修改页面。当我们进入修改页面的时候,页面当中的输入框必须保存我点击时记录的值。spring的input标签很容易就做到了这一点。

详细过程如下:
首先,双击记录时,js带着Id值,由<spring:hidden path="serialId" />来设定。提交给一个action的一个方法,比如modifyAction。
在这个方法中要做的事情就是根据这个id在数据库中找到相应的记录,并保存在这个方法的一个参数xxxForm中,并通过return mav,把属性值都保存在form中。

接着,到了JSP页面。有个<spring:form name="xxxForm" commandName="xxxxForm"...>这个commandName的值必须和返回的“把属性值都保存在form中”的xxxform名字相同。

在要显示之前值的text框框内的地方,写上
<spring:input path="processNm" />
其中这个path的值就是你要得到的xxxform的某个属性值。

一切绑定就这样完成了!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics