精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-10-04
我看要实现你要的功能,还是downpour得方法最可行。不过处理起来比较复杂一些,有的时候如果查询要求不复杂,宁可多copy几份,做项目要是都做到精益求精,那就没法做了。
|
|
返回顶楼 | |
发表时间:2005-10-08
xmvigour 写道 其实有两种做法:
1。就是把查询条件再次提交 先到删除的action中处理 再转到查询的action 2。就是在一个页里有查询的时候 把查询结果显示在一个iframe里头 通过删除action的结果 用javascript去实现查询的再次提交。(这样的好处就是查询条件不用特别处理 只要在删除的时候 没有改动查询条件即可) 遇到这种情况,我也是采用xmvigour的方法 |
|
返回顶楼 | |
发表时间:2005-10-08
引用 其实有两种做法:
1。就是把查询条件再次提交 先到删除的action中处理 再转到查询的action 2。就是在一个页里有查询的时候 把查询结果显示在一个iframe里头 通过删除action的结果 用javascript去实现查询的再次提交。(这样的好处就是查询条件不用特别处理 只要在删除的时候 没有改动查询条件即可) to javacme xmvigour 能把第二种做法说得详细一点吗? |
|
返回顶楼 | |
发表时间:2005-10-08
white182517 写道 需求描述:
有一个查询页面query.jsp,页面有一个文本框和列表框,输入查询内容和查询方式点击查询按钮,显示查询结果表格在当前页面。 查询结果的每一行记录尾部有一个删除按钮,点击删除按钮,执行删除操作。 要求如果删除失败和删除成功都能返回query.jsp,并显示相应的提示信息,比如删除失败或成功。如果删除成功,返回的query.jsp页面也应该是更新后的内容,已经不包括刚才删除的记录。 考虑过将query.jsp的查询内容和方式传递到删除action,但是有可能也有其他页面里也有删除操作的链接,而那些页面需要传递不同的参数,显然,不可能针对每种情况实现一个执行同一个操作的action。 问题 请问这在webwork中应该如何实现这种方式的页面流转呢?或者有种什么变通的方式能提供用户相似的友好性呢? [/swf][/url][/list] ajax |
|
返回顶楼 | |
发表时间:2005-10-10
请参考webwork开发的blog里的日志管理功能,可能是你想要的流程
www.nihaoblog.com 注册,管理,贴子管理,删除。。。。 |
|
返回顶楼 | |
发表时间:2005-10-21
关于那个参数问题:
把参数和参数值一起传到后台,然后分析处理,就可以传递任何参数进行删除操作了,不是吗? 成功或失败提示,这个用js可以很简单实现。 结果刷新,转到下一个查询,得出的结果应该就是新的吧。不知道我有没有理解你的意思。:) |
|
返回顶楼 | |
发表时间:2005-10-21
我的理解是这样的,你的页面格式如下:
<form> 查询条件域1 查询条件域2 查询按钮 <table> 结果条目1 删除链接 结果条目2 删除链接 ...... </table> </form> form包含了全部内容,删除链接通过js修改了与查询的同一form的action然后提交,所以才做到查询条件的自动传递,并通过继承的方式使deleteAction重用了queryAction。 现在有多种查询方式,对应多个queryAction(和相应页面),导致deleteAction代码不可重用。 上面的方案有个约束:deleteAction要求的参数不与queryAction的冲突。 我的方案: 1.页面传参的方式表述后面是哪个action 2.interceptor取参数,放到ActionContext中。 3.action:deleteBook的result类型是chain,值为${#nextAction}的形式,它会从ActionContext中取得 这样不符合PRG(Post-Redirect-Get)模式,不过还算好用。 还是用代码说话吧:) queryBook1.jsp中 书目列表"删除"链接 <a href="javascript:theForm.action.value='deleteBook.action?nextAction=queryBook1&id=XXX';theForm.submit();;">删除</a> ClientNextActionInterceptor.java package book; import com.opensymphony.xwork.interceptor.Interceptor; import com.opensymphony.xwork.ActionInvocation; import com.opensymphony.xwork.ActionContext; public class ClientNextActionInterceptor implements Interceptor { public String intercept(ActionInvocation invocation); throws Exception { String strNextAction = null; String[] paramNextAction = (String[]); ActionContext.getContext();.getParameters();.get("nextAction");; if (paramNextAction != null && paramNextAction.length>0); { strNextAction = paramNextAction[0]; ActionContext.getContext();.put("nextAction",strNextAction);; } return invocation.invoke();; } public void destroy(); { } public void init(); { } } webwork配置文件 <package name="book" extends="default" namespace="/book"> <interceptors> <interceptor name="clientNextActionInterceptor" class="book.ClientNextActionInterceptor"/> <interceptor-stack name="bookInterceptorStack"> <interceptor-ref name="defaultStack"/> <interceptor-ref name="clientNextActionInterceptor"/> </interceptor-stack> </interceptors> <default-interceptor-ref name="bookInterceptorStack"/> <action name="deleteBook" class="book.DeleteBookAction"> <result name="success" type="chain"> <param name="actionName">${#nextAction}</param> </result> </action> <action name="queryBook1" class="book.QueryBook1Action"> <result name="success">/book/queryBook1.jsp</result> </action> <action name="queryBook2" class="book.QueryBook2Action"> <result name="success">/book/queryBook2.jsp</result> </action> </package> |
|
返回顶楼 | |
发表时间:2005-10-21
树个更大的话题:
1. 上述情况如何实现PRG模式 2. 如何在 `删除链接` 不同享 `查询form` 的情况下实现 3. ajax,RIFE或其它方案的具体实现? 接人去也~~~ 大家继续讨论..... |
|
返回顶楼 | |