对Struts 2.0中的struts.xml配置文件详细说明 3

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd">
     <struts>
      <package name="org.tstruts2" namespace="/ff" extends="struts-default" abstract="false">
   
      <action name="td" method="lu" class="org.tstruts2.com.Test" converter="">
             <result name="success">./success.jsp</result>
             <result name="false">./false.jsp</result>
      </action>
     
      </package>
      </struts>

 

 

这里主要细说一下:action有哪些属性,及个个属性的用处。action主要有 name,method,class,converter 四个属性。

 

name:

name对应form表单中action中的值:如<form action="ff/td.action"  method="post">这个里面的ff是 

          namespace="/ff" 中的ff

 

method:

要是不写method的方法,默认执行execute()方法。要是写了就执行写的方法。execute()是Struts2中一个接口Action中的一个方法。

 

class:

你的action来源于那个类,包名+类名;

 

converter:

Converter 是类型转换器主要用于对象之间的转换(这个属性我还没用过???)

 

下面说一下 result   中有哪些属性值及作用:

          name

          是方法中返回的字符串。

          type:    默认值是dispatcher  用来转向页面,通常处理JSP:如果想详细了解type有哪些类型的话。

               请点击这个超链接

 

  

 下面是一些课外的东西。

 

有些时候我们需要一个定义在全局的Result,这个时候我们可以在package内部定义全局的Result,例如:
<global-results>
 <result name="error">/Error.jsp</result>
<!-- 如果想了解invalid.token的用处,请点击下面的超链接 -->
<!-- type="redirect-action" 的例子我还没有做自己做, -->
  <result name="login" type="redirect-action">Logon!input</result>
</global-results>
动态返回结果
有些时候,只有当Action执行完璧的时候我们才知道要返回哪个结果,这个时候我们可以在Action内部定义一个属性,这个属性用来存储Action执行完璧之后的Result值,例如:
private String nextAction;
 
public String getNextAction() {
    return nextAction;
}
 
在strutx.xml配置文件中,我们可以使用${nextAction}来引用到Action中的属性,通过${nextAction}表示的内容来动态的返回结果,例如:
<action name="fragment" class="FragmentAction">
 <result name="next" type="redirect-action">${nextAction}</result>
</action>
 
上述Action的execute方法返回next的时候,还需要根据nextAction的属性来判断具体定位到哪个Action。

 

 

 

 

 

 

 

              

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值