📄 user story - usereditthread.txt
字号:
Story:
用户帖子修改
User can edit his own thread
具体说明:
1.用户浏览帖子
2.用户点击自己帖子下的修改链接
3.显示帖子标题和内容,允许用户修改
4.用户提交修改结果
5.回到这个帖子
CRC Card
see : EditThread - CRC.doc
working items:
.向 ThreadDAO 增加一个接口:UpdateThread()
.向 ThreadDAOmySql 增加一个方法:UpdateThread()
.修改 ThreadDAOmySqlTest 测试,增加测试: testUpdateThreadNullObject(),
testUPdateThreadNotFound(), testUpdateThreadNormal()
.写 EditThreadForm
.写 EditThreadLinkAction
.写 EditThreadAction
.修改 /content/thread.jsp 页面,
用户登录后(user!=null)在自己的帖子(user.equal(thread.getAuthor))下面增加“修改”链接
链接里保存此帖子的id
.写 /editThread.jsp (参照 /viewThread.jsp /postThread.jsp)
.写 /content/editThread.jsp (参照 /content/viewThread.jsp /content/postThread.jsp)
.修改 Thread.java : add constructor Thread( title, content, notify )
.修改 struts-config.xml
增加两个 action :editThreadLink, editThread
增加一个 form-bean EditThreadForm
working flow of edit thread:
.viewThread : 用户点击“修改”链接(链接里提供ThreadID),执行 editThreadLink.go
.EditThreadLinkAction : 取该帖子信息,若成功,转向 editThead.jsp
.editThread.jsp : 用户修改帖子内容,点击提交,执行 editThread.go
.EditThreadAction : 到数据库修改该帖子,若成功,转向 viewThread.go
.action editThreadLink:
<action path="/editThreadLink"
type="org.redsoft.forum.web.EditThreadLinkAction"
validate="false">
<forward name="logon" path="/logon.jsp"/>
<forward name="success" path="/editThread.jsp"/>
<forward name="error" path="/error.jsp"/>
</action>
.action editThreadLink:
<action path="/editThread"
type="org.redsoft.forum.web.EditThreadAction"
name="EditThreadForm"
input="/editThread.jsp"
scope="request"
validate="true">
<forward name="logon" path="/logon.jsp"/>
<forward name="success" path="/viewForum.go"/>
<forward name="error" path="/error.jsp"/>
</action>
form-bean EditThreadForm
<form-bean name="EditThreadForm" type="org.redsoft.forum.web.EditThreadForm"/>
.问题:
修改完帖子后如何回到原来的 viewThread.jsp
action name 不统一:editThreadLink, EditThread; post, postThread; account, editAccount
bug:用户可以自己写 url 代码来修改别人的帖子,所以在 editThreadLink 中要检查是不是作者。
bug:user can edit subject to null :(
error.thread.notAuthor=<li>You are not the author of the thread</li>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -