|
最近在做毕设 用Struts开发个书店管理系统...目前遇到个问题..昨天晚上一宿没睡还是没弄出来 ...希望这里的高人帮帮我..谢谢了 在线等
问题...
有两个表单需要相同的验证..增加图书信息 和 修改图书信息..增加书籍这里没问题..
问题在于修改图书信息这块 在Action中无法获取到数据..
我把修改和删除做在一个Action里了。。用DispatchAction
调用这个Action的连接分别是
<a href="#" onclick="javascript:delItem(action='update.do?bookId=<%=book.getId() %>&method=delete')">删除</a> //javascript都没问题
直接调用UpdateBookAction 中delete()方法
该方法获取要删除的图书ID。。从而删除
<a href="update.do?vectorId=<%=i %>&method=showUpdateView">修改</a>
updateForm中比AddBookForm只多两个属性vectiorId 和bookId 而这两个都不需要验证。。使用连接传递的。。
作用
vectorId获取要修改的图书信息 session中要Vector集合内。。。showUpdateView()方法负责将要修改的信息展现在updateView.jsp视图中。。该视图的表单就是要验证的。。。
我把两个表单的所有属性都现在一个bean中了。。而在validation.xml中并没有对所有的属性进行验证(如vectorId和bookId这两个属性是通过连接传递的。)
现在 点击修改和删除连接时都报错。。其实就是无法获取这两个参数的值。。请各位帮忙看看
不知道我说没说明白。。谢谢各位了
具体配置如下:
updateBook.jsp对应 UpdateAction extends DispatchAction
这里有三个方法showUpdateView(),update(),delete() 负责修改和删除
<!--这里是增加图书的配置-->
Struts-config.xml 配置
<form-bean name="addBookForm"
type="org.apache.struts.validator.DynaValidatorActionForm">
<form-property name="typeid" type="java.lang.String" />
<form-property name="bookPrice" type="java.lang.String" />
<form-property name="publishDate" type="java.lang.String" />
<!--下面两个属性是UpdateAction需要用到的参数 -->
<form-property name="vectiorId" type="java.lang.String" />
<form-property name="bookId" type="java.lang.String" />
…………………………………………<!--其他属性都和Book相同 太多省略了-->
</form-bean>
-----
<action
attribute="addBookForm"
input="/addStore.jsp"
name="addBookForm"
path="/addStore"
validate="true"
scope="request"
type="org.neusoft.jb308.wzw.struts.action.AddBookAction"/>
<action
attribute="addStoreForm"
input="/updateView.jsp"
name="addStoreForm"
parameter="method"
path="/update"
type="org.neusoft.jb308.wzw.struts.action.UpdateAction">
<forward name="update" path = "/updateView.jsp" />
</action>
————————————————————————————————————————————————我的理解是updateForm验证和AddBookForm是一样的。故调用相同的Form。。然后通过validation.xml来验证.
validation.xml配置
<form name="addBookForm">
<field property="bookName" depends="required">
<arg key="message.label.book.name" resource="true" />
</field>
<field property="bookAuthor" depends="required">
<arg key="message.label.book.author" resource="true" />
</field>
………………………………<!--不是关键 省略了-->
</form>
</formset> |
|