博文

ActionForward(2007-03-12 22:48:00)

摘要:使用forward可以定义URL的逻辑名称,然后使用逻辑名称来应用URL。这样,在更新URL时,不必更新URL的每个引用,只须在struts-config.xml中更改一次这个引用。
可以定义两类forward:全局forward和针对具体请求的forward。全局forward在整个应用程序中都可以使用,针对具体请求的forward只可以在他各自的请求action中使用。
全局forward的定义示例:
    <forward
      name="for"
      path="/forward/for.jsp"
      redirect="true"
      contextRelative="true" />
针对具体请求的局部forward的定义通过在action标记中嵌套forward标记来定义:
  <action-mappings >
    <action path="/forac" type="com.yourcompany.struts.action.ForacAction">
      <forward name="success" path="/for.jsp" />
    </action>
  </action-mappings>
......

阅读全文(1827) | 评论:0

Struts的控制层(2007-03-12 22:45:00)

摘要:
担任MVC/Model 2控制器角色核心的是ActionServlet.
ActionServlet必须在web.xml里进行配置。具体配置参数参见“web.xml参数设置.doc”
Servlet容器在启动时,或者用户首次请求ActionServlet时加载ActionServlet类,在上述情况下,Servlet容器都会在ActionServlet被加载后立即执行它的init()方法。具体的init()方法代码解读参见“ActionServlet的init()方法.doc”。
可以继承ActionServlet来定义自己的控制器,通常的目的是重新定义ActionServlet的init()方法,增加自己的初始化动作:
定义如下的类:
import sample;
public class ExtendedActionServlet extends ActionServlet {
        public void init() throws ServletException {
               super.init();
               //加入自己的代码
               ……………
        }
}
扩展完类后,还应该在web.xml文件中如下配置:
<servlet>
        <servlet-name>sample</servlet-......

阅读全文(1963) | 评论:0