知道美河 | 上传资料 | VIP申请 | 精品课程 | 资料搜索 | 问题反馈 | 会员手册 | 积分消费 | 积分充值 | 帐号保护
美河学习学习在线赞助VIP

美河学习在线(主站) eimhe.com

用户名  找回密码
 建立账号
查看: 7156|回复: 3

[求助] 两个表单验证相同信息 DispatchAction+DynaValidatorActionForm+validation.xml

[复制链接]
发表于 2007-5-7 08:33:10 | 显示全部楼层 |阅读模式
最近在做毕设 用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>
发表于 2007-5-7 10:45:24 | 显示全部楼层
发表于 2007-5-9 22:21:25 | 显示全部楼层
这个不好怎么讲的,你至少要把你的struts-config-*.xml文件全部显示出来
发表于 2007-5-12 17:52:58 | 显示全部楼层
您需要登录后才可以回帖 登录 | 建立账号

本版积分规则

 
QQ在线咨询

QQ|小黑屋|手机版|Archiver|美河学习在线 ( 浙网备33020302000026号 )

GMT+8, 2025-5-21 23:51

Powered by Discuz!

© 2001-2025 eimhe.com.

快速回复 返回顶部 返回列表