日期:2014-05-18  浏览次数:20631 次

redirect="true" 是设置什么的?
struts-config.xml中有这样一段代码:  
<action   input= "/error.jsp "   path= "/adminLogout "   scope= "request "   type= "com.laoer.bbscs.web.action.AdminLogout ">  
<forward   name= "adminlogin "   path= "/adminlogin.jsp "   redirect= "true "   />  
</action>  
--------------------------  
为什么 <forward   /> 的参数里要用redirect= "true "啊?  
redirect= "true "   是设置什么的?  
于redirect= "false "   用的request   and   action有什莫不同处     什莫时候用,深莫时候不用
先谢谢了!

------解决方案--------------------
ActionMapping

ActionMapping将对Struts应用中有效的业务逻辑进行分类,当一个请求到达时,ActionSevlet在ActionMapping目录中查找对应的信息。ActionMapping是Struts应用的一个核心设计,当需要了解一个Struts应用,或编写一个新的Struts应用的时候,都应该从ActionMapping入手。ActionMapping有较多的属性信息,具体参考相关文档。

ActionForward

ActionForward是Struts的核心类之一,其基类仅有4个属性:name / path / redirect / classname。在基于Struts的Web应用程序开发过程中,Action操作完毕后程序会通过Struts的配置文件struts- config.xml链接到指定的ActionForward,传到Struts的核心类ActionServlet,ActionServlet使用 ActionForward提供的路径,将控制传递给下一个步骤。ActionForward控制接下来程序的走向。ActionForward代表一个应用的URI,它包括路径和参数,例如:

path=“/modify.do?method=edit&id=10”

ActionForward的参数除了在struts-config.xml和页面中设置外,还可以通过在Action类中添加参数,或重新在Action中创建一个ActionForward。

在ActionForward中有一个重要的属性redirect,当redirect=false时,将保存存储在http请求和请求上下文中的所有内容,仅在同一个应用中可用。当redirect=true时,Web客户端进行一次新的http请求,请求的资源可以在同一个应用中,也可以不在,原来的请求参数不再保存,原来的请求上下文也被清除,新的http请求仅包含ActionForward的path属性里所包含的参数。如果在同一个应用中,用户会话的上下文会被维护。

ActionForward分为全局转发和局部转发,Action的Mapping对象的findForward方法首先会检查局部转发列表,查找失败就会到全局转发列表中查找。书写格式中,我们一般将全局变量定义为String常数,避免误解,使得转发列表结构清晰易读。

在项目开发过程中经常碰到一种情况,当页面已经改变了,浏览器中的地址如/modify.do或/modify.jsp却没有变化,当时没有考虑这么细,虽然存在疑问,但没有影响到程序功能的实现,因此忽略过去了,今天查找了一些资料才弄清楚。客户端浏览器显示的是浏览器最后被给定的URL,当URL被提交后,在某个组件返回一个响应给浏览器之前,Web应用可能已经转发请求多次,而这些过程都发生在服务器端,客户端浏览器并不知道有什么变化。当一个 http响应被返回时,它并没有包含地址栏的值,所以浏览器仅仅显示其用来作为初始请求的地址。通过使用redirect可以改变浏览器地址的显示,因为这样可以向浏览器提交一个新的请求,但付出的代价是数据不能通过请求上下文传递到页面,这也是使用forward和redirect的差异之一。
------解决方案--------------------
JSP编程技巧集锦(一个问题一段代码)

实用性问题汇总 一个问题一段代码 浓缩精华收藏品 新手实战必备手册
买本书三五十元 还不如买实用代码 初学者能上台阶 老手具备参考价值

一份30元(WORD文件电子文档)

需要者请联系:e_mail:fz lotuscn@yahoo.com.cn QQ:59 5563946 (地址中空格去掉)

目 录

1. 选中的一行记录高亮显示?
2. 在下拉列表框里选择一个值后跳出新窗口?
3. 在JSP中启动execl?
4. 两级下拉列表框联动菜单?
5. java中如何把一个目录下的文件移到另一个指定的目录?
6. 制作表格线?
7. jsp如判别一个字符在A到Z之间?
8. 得到一浮点数小数点后4位,如何写以函数截取为两位
9. 整型转字符?
10. 显示数据库的记录,点击哪个标题栏,就按照哪个标题排序
11. 制作两个按钮
12. 用什么sql语句将数据库中的一条记录,复制为两条?
13. 用javascript控制两个按钮?
14. jsp中的数据库的连接方式
15. 在jsp中,怎么实现按回车就可提交表单?
16. 在JSP中如何传递数组?
17. 按地址取图片?
18. JSP中如何上传图片到数据库字段?
19. 页面自动刷新?
20. 表单自动提交?
21. 从JSP传数据的到JAVABEAN里?
22. weblogic 数据池连接? 数据源 JNDI名字 mysource
23. 三级下拉列表框联动菜单?
24. 在JSP中如何调用浏览器中的 "另存为 "功能?
25. 网页全屏显示
26. 求两个日期相隔了多少天:输入时间格式为(yyyy-mm-dd)
27. 上传文件对话框
28. 分页测试
29. 下载文件
30. 简单汉字判断
31. 将JSP的变量或者bean传递给JAVASCRIPT使用?
32. 把一种格式(如yyyy-mm-dd)的日期变量转换成另外一种格式(如dd-mm-yyyy)的日期变量!
33. 实现在页面上添加一行输入对话框
34. 制作验证码图片?
35. 图片缩小放大功能
36. 点击输入框弹出日期选择?
37. 在图片上传前查看自己要上传的图片?
38. 在图片排列的页面上选中一个图片,然后把它删掉?
39. 显示某目录下的所有文件
40. 把复选框中选中的值直接显示在输入文本框中?
41. 选择路径下的文件直接显示文件内容?
42. 制作进度条?
43. 对较长字符省略显示?
44. 制作日历?
45. 点击文本弹出一个选择框,选中值后返回并显示
46. 关闭框架页面回到没框架的页面?
47. 选中多条记录一次性删除?
48. 自动获取页面文件名?
49. 在JS