现在的位置: 首页 > 综合 > 正文

struts笔记之action配置相关

2018年04月20日 ⁄ 综合 ⁄ 共 2846字 ⁄ 字号 评论关闭

 

下面是我的第一个struts程序的struts-config.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
  3. <struts-config>
  4.   <data-sources />
  5.   <form-beans >
  6.     <form-bean name="userForm" type="com.yourcompany.struts.form.UserForm" />
  7.   </form-beans>
  8.   <global-exceptions />
  9.   <global-forwards />
  10.   <action-mappings >
  11.     <action
  12.       attribute="userForm"
  13.       input="/form/user.jsp"
  14.       name="userForm"
  15.       path="/userI"
  16.       scope="request"
  17.       type="com.yourcompany.struts.action.UserAction">
  18.       <forward name="success" path="/index.jsp" />
  19.       <forward name="error" path="/error.jsp" />
  20.       <forward name="show" path="/show.jsp"></forward>
  21.     </action>
  22.   </action-mappings>
  23.   <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
  24. </struts-config>

这里主要看两个配置

一个是

  <form-beans>

 

    <form-bean name="userForm" type="com.yourcompany.struts.form.UserForm" />

      </form-beans>

    <action>

     

    </action>

     

    前者是配置实体类的名字,和类型,类型包括包名和类名

    后者属性功能如下:

    input:指定要转到该action的url路径

    name:注意它是FormBean的名字。也就是你要给这个action带去的礼物的名字。

    path: 指定访问Action的路径,以"/"开头,没有扩展名
    scope:指定ActionForm Bean的存在范围,可选值为request和session。默认为session
    type:指定Action类的完整类名

    forward标签:指定转发的URL路径,也就是Action处理后将要转到的页面,可以配置多个,至于要转的是哪个要由Action处理后返回的ActionForward对象决定。

    WEB.xml

     

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    3.   <servlet>
    4.     <servlet-name>action</servlet-name>
    5.     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    6.     <init-param>
    7.       <param-name>config</param-name>
    8.       <param-value>/WEB-INF/struts-config.xml</param-value>
    9.     </init-param>
    10.     <init-param>
    11.       <param-name>debug</param-name>
    12.       <param-value>3</param-value>
    13.     </init-param>
    14.     <init-param>
    15.       <param-name>detail</param-name>
    16.       <param-value>3</param-value>
    17.     </init-param>
    18.     <load-on-startup>0</load-on-startup>
    19.   </servlet>
    20.   <servlet-mapping>
    21.     <servlet-name>action</servlet-name>
    22.     <url-pattern>*.jb</url-pattern>
    23.   </servlet-mapping>
    24.   <welcome-file-list>
    25.     <welcome-file>index.jsp</welcome-file>
    26.   </welcome-file-list>
    27.   
    28.   <servlet>
    29.     <servlet-name>ServletUI</servlet-name>
    30.     <servlet-class>cn.xteam.servlet.ServletUI</servlet-class>
    31.   </servlet>
    32.   
    33.   <servlet-mapping>
    34.     <servlet-name>ServletUI</servlet-name>
    35.     <url-pattern>/neil</url-pattern>
    36.   </servlet-mapping>
    37. </web-app>

     

    重要的代码如下:

     

     <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

     

    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.jb</url-pattern>
      </servlet-mapping>

     

    就是一个servlet的映射,要用struts就必须设置这个,所有后缀名为*.jb的都会被这个servlet过滤。

     

    抱歉!评论已关闭.