Struts2:HelloWord笔记

 

在 struts.xml 配置文件中:

  <!-- package: 包。struts2 用它来组织模块。

     name 属性:必须,用于其他的包引用当前的包.

     extends 属性:当前包继承哪个包。继承,即可以继承其中的所有的配置。通常情况下继承 struts-default ,这个包在 struts-default.xml 文件中定义。

     namespace 属性:可选。如果没有给出,则默认为 / 。若 namespace 有一个非默认值,则要想调用这个包里的 Action,就必须把这个属性所定义的命名空间添加到有关的 URI 字符串里。例如: http://localhost:8080/contextPath/namespace/actionName.action-->

<package name="helloWorld" extends="struts-default">

  <!-- 配置一个 action:一个struts2 的请求就是一个 action

      name:对应一个 Struts2 的请求的名字(或对应一个 servletPath,但去除 / 和 扩展名),但不包含扩展名。

      class:的默认值为:com.opensymphony.xwork2.ActionSupport

      method:的默认值为:execute

      result:结果-->

  <action name="input" class="com.opensymphony.xwork2.ActionSupport" method="execute">

      <!--result:结果。表示 action 方法执行后可能返回一个结果。所以一个 action 节点可能会有多个 result 子节点,多个 result 子节点使用 name 来区分。

          name:标识一个 result,和 action方法的返回值对应,默认值为 success。

          type:表示结果的类型。默认值为 diapatcher(转发到结果)-->

      <result name="success" type="dispatcher">/WEB-INF/page/input.jsp</result>

  </action>

</package>

 

关于 Strutts2 请求的扩展名:

  在 org.apache.struts2 包下的 default.properties 中配置了 Struts2 应用的一些常量。

  配置 Struts 可以受理的请求 的扩展名,在 struts.xml 文件中以常量配置的方式修改 default.properties 所配置的常量。

例如:<constant name="struts.action.extension"  value="action,do"></constant>

 

ActionSupport:

  1)、ActionSupport 是默认的 Action 类,若某个 action 节点没有配置 class 属性,则 ActionSupport 即为待执行的 Action 类。 而 execute 方法即为要默认执行的 action 方法。

  2)、在手工完成字段验证,显示错误消息,国际化等情况下,推荐继承 ActionSupport 。

 

result:

  result 代表 action 方法执行后,可能去的一个目的地。

  一个 action 节点,可以配置多个 result 子节点。

  result 的 name 属性值对应值 action方法可能有的一个返回值。

  result 一共有两个属性,还有一个是 type:表示结果的响应类型。

--result 的 type 属性值,在struts-default 包的 result-type 节点的 name 属性中定义。

  常用的有:

  > dispatcher(默认的):转发。同 Servlet 中的转发。

  例:<result name="a" type="dispatcher">/a.jsp</result>

  > redirect:重定向。

  例:<result name="b" type="redirect">/b.jsp</result>

  > redirectAction:重定向到一个Action。注意:通过 redirect 也可以便捷的实现 redirectAction 的功能。

  例:<result name="c" type="redirectAction">

      <param name="actionName">testAction</param>

      <param name="namespace">/hnust</param>

    </result>

  还需要再写一个 packa:

  <package name="test" namespace="/hnust" extends="struts-default">

    <action name="testAction" class="com.hnust.struts2.action.TestAction">

      <result>/success.jsp</result>

    </action>

  </package>

  > chain:转发到一个 Action。注意:不能通过 diapatcher 的方式转发到一个 Action。

  例:<result name="d" type="chain">

      <param name="actionName">testAction</param>

      <param name="namespace">/hnust</param>

    </result>

posted @ 2017-03-17 10:37  稻小白  阅读(192)  评论(0编辑  收藏  举报