需要理清一下了。过程比较复杂,出的问题也比较多。
这几天主要做了一个简单的增,删,查,改的功能。
先把整个流程说下。
首先,进入一个可以增加记录(也是修改记录)的JSP页面1,上面有输入框,有保存按钮(其实这个按钮有个功能的作用的,后面再说)。当填写完后,点击保存,在JSP页面会在点击按钮上做个onclick的js,用它可以来判断这次点击保存是增加新记录,还是更新记录。
其次,还有一个页面是用于查询和删除的JSP页面2。它主要是一个列表框。当进入这个页面前(在spring的MVC中是通过xxxAction的某个方法返回一个视图),已经把这张表的所有对象都已经读出来了,保存在一个LIST对象中,则在JSP2中,用迭代的方法读取出各条记录,并显示出来。
删除功能一般做在列表中,用一个js来提交点击删除字段的请求。一般就是一个οnclick=“jsFunc”,一般删除都是通过查找某个ID的记录,再删除。所以必须给deleteXXXXAction传递一个ID值。οnclick="delProcess('<[color=red]c:out[/color] 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的某个属性值。
一切绑定就这样完成了!
这几天主要做了一个简单的增,删,查,改的功能。
先把整个流程说下。
首先,进入一个可以增加记录(也是修改记录)的JSP页面1,上面有输入框,有保存按钮(其实这个按钮有个功能的作用的,后面再说)。当填写完后,点击保存,在JSP页面会在点击按钮上做个onclick的js,用它可以来判断这次点击保存是增加新记录,还是更新记录。
其次,还有一个页面是用于查询和删除的JSP页面2。它主要是一个列表框。当进入这个页面前(在spring的MVC中是通过xxxAction的某个方法返回一个视图),已经把这张表的所有对象都已经读出来了,保存在一个LIST对象中,则在JSP2中,用迭代的方法读取出各条记录,并显示出来。
删除功能一般做在列表中,用一个js来提交点击删除字段的请求。一般就是一个οnclick=“jsFunc”,一般删除都是通过查找某个ID的记录,再删除。所以必须给deleteXXXXAction传递一个ID值。οnclick="delProcess('<[color=red]c:out[/color] 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的某个属性值。
一切绑定就这样完成了!