struts2的action的知识点和利用action向页面注入值的操作

1.      Action的顺序,会先搜索指定名字下的包的action,如果找不到会去搜索默认路径下的包下的action。

2.      如果没有给action设置值,那么action会有一些默认值,如果没有指定class,默认ActionSupport,如果没有指定方法,默认为execute方法,如果没有指定result属性默认是success属性。

3. <package name="aa" namespace="/test"extends="struts-default">

<action name="fish">

<result>/index.jsp</result>

</action>

</package>

利用默认值实现一个最简单的跳转

3.      result的各种转发类型:dispatcher(默认);redirect(重定向)这里跳转到jsp但是jsp不能在web-inf路径下;redirectAction,;plainText

,

4.      什么是重定向?

重定向是一种特殊的页面,它提供一种运作机制,使得人们在输入该名称进入条目或者点击指向该名称的内部链接时,系统能够自动导航到重定向页面内部指定的另一相关页面中,从而实现相关页面可以以多个名称进行访问。举例来说,如果设定了一个指向“澳大利亚”的名称为“澳洲”的重定向页,任何人都可以用“澳洲”这一名称进入到澳大利亚条目中。

我们在网站建设中,时常会遇到需要网页重定向的情况: 
1.网站调整(如改变网页 目录结构); 
2.网页被移到一个新地址; 
3.网页扩展名改变(如应用需要把.php改成.Html或.shtml)。 

5.<global-results>这是全局试图

6.<action name="redfish">

            <result type="redirect" >/index.jsp</result>

        </action>

这是重定向的用法。

 

这是Test.Java文件

packagecom.fish;

 

public class Test {

privateString username;

 

publicString getUsername() {

    return username;

}

 

public void setUsername(String username) {

    this.username = username;

}

 

publicString execute(){

 

    return "success";

}

 

}

 

 

这是一个struts2.XML文件

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

        <action name="redfish" class="com.fish.Test"method="execute">

            <param name="username">张三</param>//我们可以通过获取节点来设置username的值

            <result  name="success">

            /MyJsp.jsp

            </result>

        </action>

 

那么我们在jsp里面通过el表达式就可以获得

$username)里面的值为张三

 

 

下面我们在struts2.xml加上一段话

    <action name="aa">

            <result type="redirectAction">redfish</result>

        </action>

 

利用这个action我们可以调用上面的refish里面的视图,redirectAction是可以其他视图的。

 

我们在加上一句话,

<action name="bb">

        <result type="redirect">/index.jsp</result>

</action>

通过这个我们可以对他重定向。重定向是会改变在浏览器里面的页面路径的,会指向真是存在的jsp或者action的路径。     

        

原文地址:https://www.cnblogs.com/snake-hand/p/3187142.html