3.Struts2 struts.xml配置和Action有关的属性

第三记:与struts.xml配置和Action有关的属性

(1)、解决struts2输入”<“无自动提示的问题
         原因:未联网无法获取到struts的DTD文件。
         解决办法:添加struts2文件中的模板DTD。
         添加步骤:
         windows>reference>myEclipse>Files And Editors>XML>XML Catalog
         此时将弹出一个对话框:
         location:选择你要添加的DTD文件的路径。
         Key Type:URI
         Key:网络路径,如:http://struts.apache.org/dtds/struts-2.1.dtd
(2)、Action名称的访问搜索排序:
        2-1、探索包的命名空间是否存在,假设在example下存在login这个action,那么:test/example/hello/login.action和test/example/login.action
                  都可以访问得到login Action。
        2-2、逐级向上一级目录寻找Action是否存在,如果存在就可以访问得到url后面所指定的Action。
        2-3、如果包(命名空间)存在,但该包下面没有对应的Action,那么它会到namespace=”/“的目录下寻找,
                  如果还没有则到默认的命名空间中去找,看是否有该Action。
         注:默认命名空间是指包下面没有设定namespace属性,或namespace=""。
(3)、Action实现页面跳转和配置的各项默认值:
        3-1、Action设置单个页面跳转:
            <action name="example" class="com.struts2.house.rent.action.ExampleAction">
                      <result >/login.jsp</result>
           </action>
        3-2、Action设置多个页面跳转:
            <action name="example" class="com.struts2.house.rent.action.ExampleAction">
                      <result name="error">/error.jsp</result>
                      <result name="login">/login.jsp</result>
            </action>
        3-3、Action设置多个页面跳转和重定向:
            <action name="example" class="com.struts2.house.rent.action.ExampleAction">
                       <result name="success" type="redirect">house!pre_list.action</result>//--------页面重定向
                      <result name="login">/login.jsp</result>
           </action>
        3-4、Action的默认设置:
                  如果不为Action设置class,则Action默认是ActionSupport。
                  如果不为Action设置method属性,默认是执行execute方法。
                  如果没有设置result的name值,默认为”SUCCESS“

(4)、为Action的属性注入值:
          在struts.xml中的属性注入配置:
              <action name="example" class="com.struts2.house.rent.action.ExampleAction">
                      <param name="country">china</param>
                      <result name="success” >/login.jsp</result>
             </action>
           Java类:
           public class ExampleAction{
                   private String country;

                   public  String getCountry(){
                           return this.country;
                   }
                   public void setCountry(String country){
                           this.country=country;
                   }
                   public String execute(){
                              return "SUCCESS";
                   }

          }
         视图JSP:
         使用EL表达式:${country}//显示结果:china
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值