東南西北風

生活就像一杯加了糖的苦咖啡。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

14、ActionForward的使用

Posted on 2009-08-27 00:42  东南西北风  阅读(277)  评论(0)    收藏  举报
ActionForward的使用,可以通过一个例子:有一个mustlogin.jsp页面,必须登录才可以看的,通过一个MustLoginAction转到这个页面

-----------------------------------------------------------------
ActionForward的使用

1、理解全局和局部ActionForward的概念
2、redirect的使用
3、struts-config.xml文件不允许动态修改
4、理解动态ActionForward,动态的ActionForward是可以运行期修改的

-----------------------------------------------------------------
1、mustlogin.jsp页面
<body>
这个是一个受保护的页面
</body>
2、index.jsp页面
<body>
    
<href="login.jsp">登录</a><br>
    
<href="mustlogin.do">访问受保护的页面</a><br>
    
<p>
</body>
3、login.jsp页面
<form action="login.do" method="post">
        用户:
<input type="text" name="username"><br>
        密码:
<input type="password" name="password"><br>
        
<input type="submit" value="登录">
</form>
4、struts-config.xml配置文件
Code
注意,在这个配置文件中出现了一个问题,如果有多个<action path="...></action>中需要配置同一个<forward name="login" path="/login.jsp" redirect="true"/>,这个时候可以配置全局的forward,且放在<action-mappings>标签的前面,如下(注意:如果有局部,就用局部的,如果没有就用全局的)
Code
5、MustLoginAction.java
Code
6、LoginAction.java类,设置user --request.getSession().setAttribute("user", username);
Code
7、从1-6可以看出,struts-config.xml文件在运行期间不能修改,那么我们可以使用动态的ActionForward可以在运行期间修改struts-config.xml
      <1>在index.jsp页面中增加如下代码,且新建三个jsp页面(page1.jsp、page2.jsp、page3.jsp)
<li>动态ActionForward测试</li><br>
    
<form action="dynaactionforward.do" method="post">
        页面:
<input type="text" name="page"><br>
        
<input type="submit" value="提交">
    
</form>
      <2>struts-config.xml
Code
      <3>DynaActionForwardTestAction.java
Code
补充:在struts-config.xml中的
      <forward name="success" path="/mustlogin.jsp" className="net.nyist.***"/>
中的className是用来给用户自己的写一个类,且用这个类来进行重定向,而不使用ActionForward来重定向