您的位置:首页 > 其它

基于Strut框架实现表单数据的展示与修改

2016-11-04 11:06 246 查看

实现思路1 : 2个Action连续跳转

实现流程图:

graph LR
Manager.jsp-->Display.Action
Display.Action-->Display.Jsp
Display.Jsp-->UpDate.Action
UpDate.Action-->提示结果


说明:

1. Manage.jsp 为管理列表页面,用于完成待修改项目的列表展示与待修改item关键字的提交

2. Display.Action 为跳转至展示页面的Action,用于完成将待修改item的关键字查询与bean构建

3. Display.Jsp 为兼有展示和修改功能的结果页面,同时提供修改值的提交功能

4. UpDate.Action 为待修改item的数据库更新实现后台

特点:

1. Action分工明确

注意:

1. 当执行update操作且记录主键为自增ID时,由于Display.jsp会向UpDate.Action提交一个新的Bean。因此提交的数据必须包含Id值,即使ID值在Display.jsp中不进行可视化展示。

实现思路2 : 1个Action不同的执行方法

实现流程图:

graph LR
Manager.jsp-->Display.Action!execute
Display.Action!execute-->Display.Jsp
Display.Jsp-->Display.Action!upDate
Display.Action!upDate-->提示结果


说明:

1. Manage.jsp 为管理列表页面,用于完成待修改项目的列表展示与待修改item关键字的提交,默认调用execute方法执行

2. Display.Action!execute 为跳转至展示页面的Action,用于完成将待修改item的关键字查询与bean构建

3. Display.Jsp 为兼有展示和修改功能的结果页面,同时提供修改值的提交功能

4. Display.Action!upDate 为待修改item的数据库更新实现后台,调用指定的upDate方法实现

特点:

1. 减少后台Action数量

注意:

1. 当Display.jsp请求执行Display.Action!upDate方法时,实际上Display.Action会被重新构建,因此Action中的bean实际当前提交数据而重新构建的,并不是execute方法执行后获取的,正确来是execute方法根本没有执行。

2. 当执行update操作且记录主键为自增ID时,由于Display.jsp会向Display.Action!upDate提交一个新的Bean。因此提交的数据必须包含Id值,即使ID值在Display.jsp中不进行可视化展示。

相关知识点

Strut中标签只能用于结果值的展示,因此只有value属性,编写形式为
bean.porpertyName
或者
(Action.)proertName


Strut中标签即可用于结果展示又可用于结果提交,即同时具有value和name属性,而value属性编写形式为
"%{bean.porpertyName}"
或者
"%{(Action.)porpertyName}"


对于不显示但需要提交的表单元素可以将父容器的样式属性进行不可见设置
style="display:none"


扩充说明

若想在浏览Display.jsp页面时,通过后台代码实现标签的读写性控制

实现步骤:

1. 后台Display.action 中增加一个字段
private String IsReadOnly="true"
注意不是boolean类型

2. 为IsReadOnly字段添加getter,setter

3. 在请求Display.action的url中增加doGets参数

1. 只读:
url/action : Display.action&IsReadOnly=true


2. 可写:
url/action : Display.action&IsReadOnly=false


4. 在Display.jsp的标签中设置属性
readonly="%{IsReadOnly}"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Strut 表单修改
相关文章推荐